All projects
In development

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.

  1. Browser requests upload ticket
  2. Express authorizes request
  3. Short-lived S3 PUT URL
  4. Browser uploads directly to S3
The file bypasses Express; the permission decision does not.
Systems Architecture · WebGL Topology

Interactive 3D Distributed Systems Graph

Live 3D topology visualizing service boundaries, isolation contracts, and asynchronous document rendering pipelines.

DRAG TO ORBIT · CLICK NODE TO INSPECT
Presentation Tier

Web Client

Next.js 16 · React 19
Protocol & TransportHTTPS / WSS · 120fps GSAP
Architecture Contract

App Router RSC with client-side interactive leaves and zero-latency audio synthesis.

Click any node in 3D space to focus its technical boundary.

5-Role Granular Permission Matrix

Enforced via permissionMiddleware & tenant-scoped Mongoose filters

Highlight:
ModuleSuper AdminInstitute AdminTeacherStudentEmployee
Student AdmissionsFullFullRead / ExportSelf ReadCreate / Read
Attendance RegisterFullFullCreate / UpdateSelf ReadRead Only
Examination & GradesFullFullCreate / Update / ApproveSelf ReadExport
Fee Ledgers & ReceiptsFullFullDeniedSelf ReadCreate / Read / Export
Timetable ManagementFullFullRead OnlyRead OnlyRead Only
Tenant Global SettingsFullFullDeniedDeniedDenied

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.

assignment.route.js — excerpt supplied in the project context
JavaScript
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.

Discuss this work