Manage all program documents through an integrated Google Drive file browser with upload, organization, and search capabilities.
Overview
The Document Repository provides a unified interface to access, organize, and manage all Masterβs program documentation stored in Google Drive.Key Features
Drive Integration
Direct connection to Google Drive with real-time sync
File Browser
Navigate folder structures with breadcrumb navigation
Bulk Upload
Upload multiple files simultaneously with progress tracking
Universal Search
Search files and folders across the entire repository
Repository Home
Interface Layout
alt=βRepository interface with sidebar and file gridβ /> The repository interface consists of:-
Top Navigation Bar
- Breadcrumb navigation
- Search bar
- New folder button
- Refresh button
- View mode toggle (grid/list)
- Upload button
-
Left Sidebar (Desktop only)
- Folder tree navigation
- Expandable/collapsible folders
- Current location highlight
-
Main Content Area
- File and folder cards (grid view)
- File and folder rows (list view)
- Selection checkboxes
View Modes
- Grid View
- List View
- Large file icons
- File thumbnails (for images/PDFs)
- Best for visual browsing
Navigation
Breadcrumb Trail
The breadcrumb shows your current location:- Click any level to jump to that folder
- Home icon returns to root
- Current location is highlighted in blue
Folder Tree Sidebar
Expand folders to see nested structure:- βΆοΈ Click arrow to expand
- βΌ Click arrow to collapse
- π Click folder name to navigate
- Current folder has blue background
File Management
Uploading Files
File Uploader Modal
alt=βFile upload modal with progress barsβ /> Features:- Multiple file selection
- Drag-and-drop zone
- Individual progress bars
- Cancel option per file
- Success/error indicators
Creating Folders
File Actions
Hover over any file or folder to reveal action buttons:| Icon | Action | Description |
|---|---|---|
| ποΈ | Preview | View file preview (images, PDFs) |
| β¬οΈ | Download | Download file to your computer |
| π | Copy Link | Copy shareable Drive link |
| π | Open in Drive | Open file in Google Drive web interface |
| ποΈ | Delete | Move file to Drive trash |
Bulk Selection
alt=βMultiple files selected with action barβ
/>
Search Functionality
Universal Search
The search bar performs universal search across:- File names
- Folder names
- File contents (for supported types)
- Metadata
Search Results
Search results show:- File/Folder Name: Highlighted matches
- Parent Folder Path: Where the file is located
- Last Modified: Date timestamp
- File Type: Icon indicator
Clearing Search
Click the X button in the search bar to:- Clear search query
- Return to current folder view
- Reset filters
File Types & Icons
Supported File Types
The repository recognizes and displays icons for:File Thumbnails
For image files and PDFs, the system displays thumbnails:- Auto-generated from Drive API
- 200x200px preview size
- Cached for performance
Folder Structure
Recommended Organization
Auto-Created Folders
The system automatically creates folders when:- A new student is registered (with toggle enabled)
- A new teacher is added
- A new thesis is created
- An event is scheduled
Auto-created folders follow naming conventions based on entity type and ID.
Folder Explorer Component
The<FolderExplorer> component is used throughout the system:
Integration Points
- Student forms (Documents tab)
- Teacher forms
- Thesis forms
- Event forms
- Standalone repository page
Refresh & Sync
Manual Refresh
Click the refresh button (π) to:- Reload current folder contents
- Sync with Drive changes
- Update folder tree
- Clear cache
Automatic Refresh
The repository auto-refreshes after:- File upload completes
- Folder is created
- File/folder is deleted
- Navigation to new folder
Performance Optimization
Lazy Loading
Folders load on-demand when expanded
Debounced Search
Search waits 500ms after typing stops
Cached Thumbnails
File previews are cached in browser
Parallel Requests
File list and folder tree load simultaneously
Loading States
alt=βSkeleton loaders for files and foldersβ />- Skeleton cards during load
- Spinner icon on refresh button
- Progress bars during upload
Error Handling
Common Errors
| Error | Cause | Solution |
|---|---|---|
| No se pudo conectar con Drive | Drive API connection failed | Check internet connection and retry |
| Carpeta no encontrada | Folder was deleted or moved | Navigate back to parent folder |
| Permiso denegado | Insufficient Drive permissions | Contact system administrator |
| Archivo muy grande | File exceeds upload limit | Use Google Drive web interface for large files |
Source Code Reference
Key components:- Repository home:
Fronted/src/pages/repository/RepositoryHome.jsx:14 - File manager:
Fronted/src/pages/repository/FileManager.jsx - File uploader:
Fronted/src/pages/repository/FileUploader.jsx - Folder tree:
Fronted/src/pages/repository/FolderTree.jsx - Folder explorer:
Fronted/src/components/common/FolderExplorer.jsx - Drive API:
Backend/services/DriveManager.js
API Integration
The repository uses Google Drive API v3:Related Features
Student Management
Access student document folders
Thesis Tracking
Manage thesis documents
Teacher Management
Access faculty documents