A centralized, responsive, and real-time platform designed for managing, accessing, and organizing university question papers. It features a modern, intuitive interface where students can easily browse, upload, and download papers. For administrators, it offers a powerful role-based dashboard for catalog management, review queues, seamless department configurations, and live feedback monitoring.
🚀 Study smart, not hard.
- Smart Browsing: Search and filter papers by department, semester, subject, and year with a beautifully designed, responsive interface.
- Contribution System: Upload question papers seamlessly for admin review.
- Seamless Access: Download & view question papers across devices.
- Support the Platform: Integrated donation system featuring dynamic QR code generation, masked UPI IDs, and a mobile-friendly payment experience.
- Real-Time Dashboard: WebSocket integration ensures instant cross-client updates for file uploads, student feedback, and system notifications without page reloads.
- Catalog & Department Management: Dynamically create and edit departments, subjects, and semesters with real-time UI feedback and multi-option sorting.
- Review Queue: Approve, reject, or edit metadata for pending question paper uploads.
- Inbox Zero Workflow: Manage user feedback with a clean, responsive interface centered around an "Inbox Zero" empty state.
- Vault Analytics: View comprehensive platform statistics and upload trends using interactive charts.
- Framework: React 19, Vite
- Routing: React Router DOM 7
- Styling: TailwindCSS 4, Framer Motion, Glassmorphism
- UI & Visualization: Lucide Icons, Recharts, Sonner (Toasts)
- Real-Time Client: Socket.io-client
- Deployment: Vercel
- Environment: Node.js, Express.js
- Database: MongoDB (Mongoose)
- Authentication: JWT, bcrypt
- File Uploads: Multer
- Real-Time Server: Socket.io
- Utilities: Nodemailer, Zod
Prerequisites: Node.js v18+, MongoDB installed and running.
1. Clone the repository
git clone https://github.com/BidyutDev/AUS-PaperVault.git
cd AUS-PaperVault2. Setup Backend (Terminal 1)
cd backend
npm installStart the backend development server:
npm run dev3. Setup Frontend (Terminal 2)
cd frontend
npm installStart the frontend development server:
npm run devStudent Flow: Browse Departments → Select Semester → Select Subject → View/Download Paper
Upload Flow: Select Details → Upload PDF → Real-Time Admin Notification → Admin Reviews → Published to Vault
Admin Flow: Secure Login → Access Role-Based Dashboard → Make Changes (Auto-synced via WebSockets)
We welcome contributions! To get started:
- Fork the repository
- Create your feature branch:
git checkout -b feature/AmazingFeature - Commit your changes:
git commit -m 'feat: Add some AmazingFeature' - Push to the branch:
git push origin feature/AmazingFeature - Open a Pull Request
Code Style Guidelines: Use functional components, React Hooks, and ensure ESLint/Prettier compliance.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Version: 1.0.0 | Status: Active Development 🚀