MIS Department Portal
Academic portal for 200+ students with results, resources, question bank, and curriculum versioning.
The Problem
The MIS department had no centralized student portal. Results, question papers, course notes, and resources were scattered across WhatsApp groups and outdated sites — no searchable archive, no role-based access control, and no link to curriculum data.
The Solution
A full-stack Next.js 16 portal with @mis.du.ac.bd-restricted OAuth, a 16-model Prisma schema with curriculum versioning, and presigned Cloudflare R2 uploads. Students get a results viewer, a multi-level filterable question bank, and a public academics page rendering the entire curriculum.
Key Features
- Google OAuth restricted to @mis.du.ac.bd institutional emails
- Per-student results viewer organized by semester and curriculum
- Filterable question bank: Program → Batch → Semester → Course → Exam
- Resources module synced to Cloudflare R2 (slides, books, outlines)
- Curriculum versioning resolves semester-course mappings per batch revision
- Presigned R2 uploads — direct browser-to-R2, bypassing the server
- MIS 20 Fund integration via REST API, gated by roll number
Technical Challenges
01 · Curriculum-Aware Filtering
The same course can sit in semester 3 under one curriculum revision and semester 4 under another. Solution: a CurriculumEntry join table dynamically resolves a student's semester-course map per their batch's curriculum revision — no hardcoded logic anywhere.
02 · Presigned R2 Upload Flow
Vercel serverless functions have memory and timeout limits — routing big files through the server would fail. Solution: two-step flow — client requests a presigned PUT URL, uploads directly to R2, then sends the resulting public URL back to the server for DB persistence.
03 · Role-Based Edge Middleware
Per-component access checks scale poorly. Solution: a single Next.js edge middleware intercepts /dashboard/* and /admin/* before any rendering, verifying role at the CDN edge.
Future Scope
- Student notes submission with admin approval
- Faculty research paper directory
- Event calendar with image gallery