A comprehensive document management system for storing and serving conference PDFs including programs, proceedings, schedules, and other conference materials.
Storage Architecture
Filesystem + Database Hybrid Approach
PDF files: Stored in organized directory structure on filesystem
Metadata: Stored in MongoDB for fast queries and access control
Best of both worlds: File performance + database features
curl -X POST /api/documents/upload \-H"Authorization: Bearer YOUR_TOKEN"\-F"document=@conference-program-2025.pdf"\-F"title=SOBIE 2025 Conference Program"\-F"category=program"\-F"conferenceYear=2025"\-F"isPublic=true"
2. Automatic Processing
File saved to organized directory structure
SHA-256 checksum calculated for integrity
Duplicate detection performed
Database record created with metadata
3. Access Control Applied
Permission checks on all access attempts
Role-based restrictions enforced
Download tracking initiated
Security Features
File Security
Type validation: Only PDF files accepted
Size limits: 50MB maximum file size
Checksum verification: File integrity protection
Safe filenames: Sanitized filename generation
Access Security
Authentication required: Most operations require login
Role-based permissions: Fine-grained access control
Upload restrictions: Only admins/organizers can upload
Audit trail: Track all document access and modifications
Example Usage
Upload Conference Program
constformData=newFormData();formData.append('document',file);formData.append('title','SOBIE 2025 Conference Program');formData.append('description','Complete program including schedules, speakers, and sessions');formData.append('category','program');formData.append('conferenceYear','2025');formData.append('isPublic','true');formData.append('keywords','["program", "schedule", "2025"]');constresponse=awaitfetch('/api/documents/upload',{method:'POST',headers:{'Authorization':`Bearer ${token}`},body:formData});