Next Web Campus
Academic workflows, five-role permissions and direct S3 uploads. In development, with zero production institutions.
- React
- Express
- MongoDB
- Amazon S3
Academic and administrative workflows
Started in May 2025 as EduManage, Next Web Campus covers student records, attendance, fees, examinations and reporting. It is an active development project with zero production institutions.
Application workflows and access boundaries
I implemented academic features, Mongoose models and Express routes, the five-role permission framework, tenant-scoped queries and cloud asset uploads.
Permissions are checked in layers
The roles are Super Admin, Institute Admin, Teacher, Student and Employee. Route guards first check the user type; sub-user requests also check module permissions for Create, Read, Update, Delete, Approve and Export. Query filters then limit records to the tenant and, where required, the author.
- Browser requests upload ticket
- Express authorizes request
- Short-lived S3 PUT URL
- Browser uploads directly to S3
Interactive 3D Distributed Systems Graph
Live 3D topology visualizing service boundaries, isolation contracts, and asynchronous document rendering pipelines.
Web Client
Next.js 16 · React 19HTTPS / WSS · 120fps GSAPApp Router RSC with client-side interactive leaves and zero-latency audio synthesis.
5-Role Granular Permission Matrix
Enforced via permissionMiddleware & tenant-scoped Mongoose filters
| Module | Super Admin | Institute Admin | Teacher | Student | Employee |
|---|---|---|---|---|---|
| Student Admissions | Full | Full | Read / Export | Self Read | Create / Read |
| Attendance Register | Full | Full | Create / Update | Self Read | Read Only |
| Examination & Grades | Full | Full | Create / Update / Approve | Self Read | Export |
| Fee Ledgers & Receipts | Full | Full | Denied | Self Read | Create / Read / Export |
| Timetable Management | Full | Full | Read Only | Read Only | Read Only |
| Tenant Global Settings | Full | Full | Denied | Denied | Denied |
Upload directly, authorize first
React asks Express for an upload ticket. Express checks authorization and generates a pre-signed S3 PUT URL with a user-scoped key. The browser uploads directly to S3. Prefixes organize files; authorization, expiry and storage policies enforce access.
customFilter: async (filter, req) => { if (req.user?.type !== UserTypes.SuperAdmin) { filter.user = req.user.admin || req.user._id; } if (req.user?.type === UserTypes.Teacher) { filter.createdBy = req.user._id; }}Development work, not adoption
The project demonstrates academic modeling, layered permissions and cloud uploads. It has no production institutions or claimed student adoption. The source repository and institutional data are private.