Back to Projects
Campus ERP System
A scalable two-portal college ERP monorepo for students, admins, professors, and verifiers — managing admissions, payments, attendance, grades, placements, and asynchronous email workflows.
Tech Stack
- Architecture: Turborepo Monorepo, pnpm workspaces
- Admin Portal: Next.js 15, TypeScript, Tailwind CSS
- Student Portal: React (Vite), TypeScript, Tailwind CSS
- Backend API: Node.js, Express 5, 18 Route Modules
- Database: Prisma ORM, PostgreSQL (26 Models)
- Queues & Mail: Redis Queue & Nodemailer Worker
- Auth: JWT Auth, bcrypt, 5 User Roles
- Media & Files: Cloudinary, PDFKit (Invoices/Receipts)
Key Accomplishments
- Two-Portal Monorepo Architecture: Designed and built a Turborepo monorepo ERP spanning two independent frontends (29 Next.js admin pages + 20 Vite student pages) unified by a single Express API serving 132 endpoints across 18 route modules.
- Role-Based Access Control: Enforced 40 protected frontend routes using JWT-backed auth context and 5 role-specific middleware guards (admin, professor, student, verifier, and combined) — ensuring zero unauthorized cross-role access.
- Shared Component Library: Extracted 164 shared UI components — dashboards, data tables, multi-filter panels, form builders, and navigation primitives — enabling consistent UX across both portals with zero duplication.
- Scalable Relational Schema: Architected a Prisma database with 26 models, 32 enums, and 89 relation fields covering users, applications, enrollments, payments, grades, attendance, and complaints — optimized for complex cross-entity queries.
- Asynchronous Email Worker: Built an async email worker using Redis queues and Nodemailer — 7 purpose-built templates, 3 priority queues, and automatic retry (3 attempts) for admission confirmations, payment receipts, and placement notifications.