A hackathon-ready ERP system with role-based authentication for students, professors, and admins.
- Role-based Authentication: Student, Professor, Admin panels with secure login
- Modern UI/UX: Minimal, soothing design with day/night mode toggle
- Mobile-first: Optimized for Android and touch devices
- Clean Architecture: Modular frontend and backend structure
- Real-time Data: Mock APIs with realistic data for all panels
- Responsive Design: Works seamlessly on desktop, tablet, and mobile
- Frontend: Next.js 14 (App Router) + Tailwind CSS + TypeScript
- Backend: Node.js + Express + CORS + Helmet
- Authentication: Role-based with localStorage persistence
- Icons: Lucide React for consistent iconography
- Styling: Custom Tailwind configuration with soft shadows and rounded corners
# Clone and navigate to project
cd "SIH ERP base version"
# Install all dependencies
npm install
# Start both servers concurrently
npm run dev# Install root dependencies
npm install
# Install backend dependencies
cd backend && npm install
# Install frontend dependencies
cd ../frontend && npm install
# Start backend server (Terminal 1)
cd backend && npm run dev
# Start frontend server (Terminal 2)
cd frontend && npm run dev# Double-click start.bat or run:
start.bat- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- Health Check: http://localhost:5000/health
| Role | Password | |
|---|---|---|
| Student | student@example.com | password123 |
| Professor | professor@example.com | password123 |
| Admin | admin@example.com | password123 |
βββ frontend/ # Next.js 14 Application
β βββ src/
β β βββ app/ # App Router pages
β β β βββ login/ # Authentication page
β β β βββ student/ # Student dashboard & pages
β β β βββ professor/ # Professor dashboard & pages
β β β βββ admin/ # Admin dashboard & pages
β β βββ components/ # Reusable components
β β βββ context/ # React contexts (Auth, Theme)
β β βββ types/ # TypeScript type definitions
β β βββ lib/ # Utility functions
β βββ tailwind.config.js # Custom Tailwind configuration
β βββ package.json
βββ backend/ # Express API Server
β βββ routes/ # API route definitions
β βββ controllers/ # Business logic controllers
β βββ data/ # Mock data for APIs
β βββ middleware/ # Custom middleware
β βββ server.js # Main server file
β βββ package.json
βββ package.json # Root package.json for scripts
βββ start.bat # Windows startup script
βββ start.sh # Unix startup script
βββ README.md
- Day/Night Mode: Toggle between light and dark themes
- Responsive Design: Mobile-first approach with breakpoints
- Soft Shadows: Subtle elevation with custom shadow utilities
- Rounded Corners: Consistent border-radius throughout
- Color Palette: Primary blues and secondary grays
- Typography: Inter font family for modern readability
- Icons: Lucide React for consistent iconography
- Dashboard: Overview with attendance, schedule, and upcoming events
- Attendance: Detailed attendance tracking with visual progress bars
- Timetable: Weekly schedule with today's classes highlighted
- Exams & Events: Upcoming exams, assignments, and university events
- Profile: Personal information and academic details
- Dashboard: Class overview, attendance summary, and pending tasks
- Attendance: Mark and track student attendance
- Assignments: Create, manage, and grade assignments
- Classes: Manage multiple classes and student lists
- Profile: Professional information and teaching details
- Dashboard: University-wide statistics and system overview
- Users: Add, edit, and manage students and faculty
- Courses: Create and manage course offerings
- Settings: System configuration and preferences
- Reports: Generate various administrative reports
GET /api/student/dashboard- Dashboard dataGET /api/student/attendance- Attendance recordsGET /api/student/timetable- Class scheduleGET /api/student/exams- Exam informationGET /api/student/profile- Student profile
GET /api/professor/dashboard- Professor dashboardGET /api/professor/classes- Class informationPOST /api/professor/attendance/mark- Mark attendancePOST /api/professor/assignments/create- Create assignmentGET /api/professor/students/:classId- Class students
GET /api/admin/dashboard- Admin dashboardGET /api/admin/users- All usersPOST /api/admin/users/add- Add new userGET /api/admin/courses- All coursesPOST /api/admin/courses/add- Add new courseGET /api/admin/stats- System statistics
cd frontend
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production servercd backend
npm run dev # Start with nodemon
npm start # Start production server- Frontend: Add new pages in
src/app/directory - Backend: Add new routes in
routes/and controllers incontrollers/ - Data: Update mock data in
backend/data/files
- Modify
frontend/tailwind.config.jsfor theme customization - Update
frontend/src/app/globals.cssfor global styles - Use existing utility classes for consistent styling
- This is a prototype designed for hackathons and demonstrations
- All data is mock data - no real database integration
- Authentication is simplified for demo purposes
- Ready for production enhancement with real database and security
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.