A complete, production-ready full-stack ERP platform that digitizes and automates every academic and administrative operation of a college β from student enrollment to result generation, fee payments to hall tickets β all under a secure, role-based system.
π« Sardar Vallabhbhai Global University
- What is this Project?
- System Highlights
- Full System Architecture
- Who Uses This System?
- Module Overview
- Role vs Feature Matrix
- Repository Structure
- Quick Start
- Detailed Documentation
- Default Credentials
- Meet the Team
- License
The College ERP System is a full-stack web application built to replace manual, paper-based college management with a unified digital platform. Every operation β from marking attendance to printing hall tickets β happens inside one system.
It is built as a monorepo with two independent, well-structured applications:
| Application | Technology | Purpose | |
|---|---|---|---|
| βοΈ | Backend | Node.js + Express + MySQL | REST API, business logic, database, security |
| π₯οΈ | Frontend | React 19 + Vite + Tailwind CSS | Role-based UI, dashboards, PDF generation |
The two applications communicate entirely through REST APIs, with JWT authentication stored in HTTP-only cookies for maximum security.
π Secure π Complete π Fast
ββββββββββββββ βββββββββββββββββ βββββββββββββββββ
JWT + HTTP-only 32 database tables React 19 + Vite 7
cookies (XSS-safe) across 15+ modules with lazy loading
π¨ Responsive π PDF Ready π© Flexible
ββββββββββββββ βββββββββββββββββ βββββββββββββββββ
Tailwind + dark mode Hall tickets & Admin-controlled
on every screen fee receipts as PDF feature flags
- 3 Roles β Admin, Faculty, Student β each with fully isolated dashboards and routes
- 15+ Academic Modules β attendance, timetable, exams, results, backlogs, fee, feedback, and more
- 32 Database Tables β fully relational schema with Sequelize ORM migrations
- PDF Generation β hall tickets (client-side) and fee receipts (server-side)
- Auto-Generation Services β enrollment IDs, faculty IDs, class timetables, exam results
- Security-First β bcrypt, helmet, rate limiting, Zod validation, CORS, parameterized queries
- Dark / Light Mode β full theme support across every screen
- Feature Flags β Admin toggles features on/off at runtime without redeployment
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β COLLEGE ERP SYSTEM β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β FRONTEND (React 19 + Vite) β β
β β β β
β β βββββββββββββββ βββββββββββββββ βββββββββββββββββββ β β
β β β ADMIN β β FACULTY β β STUDENT β β β
β β β PANEL β β PANEL β β PANEL β β β
β β β 30+ pages β β 10+ pages β β 9+ pages β β β
β β βββββββββββββββ βββββββββββββββ βββββββββββββββββββ β β
β β β β
β β Protected Routes β Context API β Axios β jsPDF β β
β βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ β
β β HTTPS + HTTP-only JWT Cooki β
β βββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββ β
β β BACKEND (Node.js + Express.js) β β
β β β β
β β Helmet β CORS β Rate Limiter β Morgan β Compression β β
β β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β Auth MW β Role MW β Feature Flag MW β Zod β β β
β β ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββ β β
β β β β β
β β ββββββββββββββ ββββββββββΌβββββββββ ββββββββββββββ β β
β β β Routes ββ β Controllers ββ β Services β β β
β β β (28 files) β β (27 files) β β (7 utils) β β β
β β ββββββββββββββ βββββββββββββββββββ ββββββββββββββ β β
β β β β
β β Multer (uploads) β PDFKit (receipts) β Nodemailer β β
β βββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββ β
β β Sequelize ORM β
β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββ β
β β MySQL DATABASE β β
β β 32 Tables / Models β β
β β Identity β Academic β Exams β Results β Fee β Misc β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| π‘οΈ Admin | π¨βπ« Faculty | π Student |
|---|---|---|
| The super-user of the entire system | Subject-level academic manager | Read-access to personal academic data |
| Manages students, faculty, classes, courses, subjects | Takes & updates attendance daily | Views attendance, timetable, results |
| Creates fee structures & collects payments | Creates topic-wise session plans | Downloads hall tickets as PDF |
| Schedules exams & publishes results | Enters exam marks per component | Prints fee receipts as PDF |
| Sends broadcast or targeted notifications | Uploads learning resources for students | Browses learning materials by subject |
| Evaluates student feedback on faculty | Views their own student feedback | Submits ratings and comments for faculty |
| Toggles feature flags at runtime | Views date-wise and class-wise reports | Tracks backlog subjects & attempts |
| Generates class & student reports | Changes login credentials securely | Manages personal profile & photo |
| # | Module | Admin | Faculty | Student |
|---|---|---|---|---|
| 1 | π Authentication & Password Reset | β | β | β |
| 2 | π€ Student Management | β | β | β |
| 3 | π¨βπ« Faculty Management | β | β | β |
| 4 | π« Class & Course Management | β | β | β |
| 5 | π Subject & Components Management | β | β | β |
| 6 | π Timetable (Manual + Auto-Generate) | β | ποΈ View | ποΈ View |
| 7 | β Attendance (Mark / Update / Report) | π Reports | β Mark | ποΈ Own |
| 8 | π Session Planning | β | β | ποΈ View |
| 9 | π Exam Scheduling & Timetable | β | β | β |
| 10 | π Marks Entry & Result Generation | β Generate | β Enter | ποΈ View |
| 11 | π Rankings & Backlogs | β | β | ποΈ View |
| 12 | ποΈ Hall Ticket (PDF) | β | β | β |
| 13 | π° Fee Structure & Payment | β | β | β |
| 14 | π§Ύ Fee Receipt (PDF) | β | β | β |
| 15 | π Notifications | β Send | ποΈ View | ποΈ View |
| 16 | π Events | β Manage | ποΈ View | ποΈ View |
| 17 | π¬ Faculty Feedback | π Evaluate | ποΈ View | β Submit |
| 18 | π Learning Materials | β | β Upload | ποΈ View |
| 19 | π Reports & Analytics | β | π Class | β |
| 20 | π© Feature Flags | β Toggle | β | β |
college_ERP_system/
β
βββ π frontend/ # React 19 + Vite frontend application
β βββ src/
β β βββ api/ # Axios instance
β β βββ context/ # ThemeContext, SidebarContext, ToastContext, ConfirmContext
β β βββ routes/ # ProtectedRoute component
β β βββ Components/ # Shared layout (Navbar, Sidebar, Panels)
β β βββ ui/ # Button, Card, Template UI primitives
β β βββ Pages/ # 70+ screens (Admin / Faculty / Student / Public)
β β βββ utils/ # auth.js, pdfGenerator.js
β βββ tailwind.config.js
β βββ vite.config.js
β βββ π README.md # β Detailed Frontend Documentation
β
βββ π backend/ # Node.js + Express REST API
β βββ src/
β β βββ config/ # DB connection + Sequelize CLI config
β β βββ middleware/ # Auth, RateLimiter, FeatureFlag, Upload, Logger
β β βββ model/ # 32 Sequelize models + associations
β β βββ migrations/ # 32 versioned DB migration files
β β βββ controllers/ # 27 controller files (business logic)
β β βββ routes/ # 28 route files (one per module)
β β βββ services/ # 7 reusable utility services
β βββ uploads/ # Stored uploaded files
β βββ app.js # Server entry point
β βββ π README.md # β Detailed Backend Documentation
β
βββ π README.md # β You are here (Project Overview)
βββ .gitignorePrerequisites: Node.js v18+, MySQL 8.0+, npm v9+, Git
git clone https://github.com/your-username/college_ERP_system.git
cd college_ERP_systemcd backend
npm install
cp .env.example .env # Fill in your DB, JWT, and Email credentials
mysql -u root -p -e "CREATE DATABASE college_erp_db;"
npx sequelize-cli db:migrate
npx nodemon app.js # Starts at http://localhost:5000cd ../frontend
npm install
cp .env.example .env # Set VITE_API_BASE_URL=http://localhost:5000/api
npm run dev # Starts at http://localhost:5173π http://localhost:5173
β Ensure both servers are running. The frontend will call the backend at port
5000.
For in-depth technical documentation of each part of the system, refer to the dedicated READMEs inside each folder:
| Documentation | Location | Covers |
|---|---|---|
| π Backend README | backend/README.md |
Node.js API, all 27 controllers, 32 models, 28 routes, middleware stack, services layer, DB commands, env variables, API reference table |
| π Frontend README | frontend/README.md |
React 19 pages (70+), routing architecture, context system, component/UI library, PDF generation, Axios setup, all screen references, Tailwind theming |
This project was built as part of academic coursework at Sardar Vallabhbhai Global University.
| π€ | Name | Role |
|---|---|---|
| π§βπ» | Aayush Bhavsar | Frontend Developer |
| π§βπ» | Yug Panchal | Frontend Developer |
| π§βπ» | Dhwanit Khatri | Backend Developer |
| π§βπ» | Jiken Patel | Backend Developer |
This project is licensed under the ISC License and was developed for educational and academic purposes at Sardar Vallabhbhai Global University.
Built with β€οΈ by the SVGU Team
β Found this useful? Give it a star on GitHub!