About this project
The Problem
Students at PDEU relied on scattered Google Drive links shared across WhatsApp groups and social media. Resources were hard to find, links broke without notice, and there was no unified interface to browse, filter, or search course materials. Nexus solves this by aggregating Drive-hosted files into a single, fast interface — with no login required.
Design Decisions
Zero Authentication
No login walls. Google Drive folders are set to public access, and the backend proxies metadata without exposing API credentials to the client.
Server-Side Caching
TTL-based in-memory cache reduces Drive API calls from thousands per hour to a handful. Serves stale responses if the API is unreachable.
Fast Iteration
React frontend consumes a clean REST endpoint. File metadata is served pre-processed — thumbnails, names, sizes — so the UI stays responsive.
System Architecture
The backend acts as a thin caching proxy between the client and Google Drive. This keeps the API key server-side, enforces rate limits locally, and enables serving pre-processed metadata to the frontend.
Data Flow
API
Technical Details
- Data Source: Course-wise Google Drive folders set to public link sharing. The backend fetches file metadata via the Drive API v3.
- Cache Strategy: TTL-based in-memory cache with configurable expiry. Cache invalidation via manual trigger or periodic refresh.
- API Key Security: The Google API key is stored server-side and never exposed to the frontend. All Drive interactions happen through the Flask middleware.
- Frontend: React SPA consumes the REST endpoint. Supports search, semester filtering, and file-type based rendering.
Why No Auth?
Authentication adds unnecessary friction for students who need quick access to study materials. By using public Drive folders and proxying metadata server-side, we get zero-login access while keeping API credentials secure. The backend acts as a trust boundary — the frontend never touches Google APIs directly.
Trade-offs & Metrics
Cache Hit Ratio
~98%
API calls reduced from thousands/hour to a handful per cache cycle.
Response Time
<50ms
Cached responses vs 300-500ms cold Drive API calls.
API Cost
Zero
Stays well within Google Drive API free quota thanks to caching.
Failover
Graceful
Stale cache serves content even if Drive API is temporarily unreachable.