A dynamic, university-level course registration platform for students, faculty, and admins to manage courses efficiently and stress-free. Go beyond basic enrollment with smart suggestions, automatic conflict detection, and insightful analytics.
- Clone your fork
- git clone https://github.com//smart-course-registration.git
- cd smart-course-registration
- Backend setup
- cd backend
- Create a .env file with at least:
- DATABASE_URL=postgresql://USER:PASSWORD@HOST:PORT/DB
- JWT_SECRET=change-me
- PORT=4000
- npm install
- npx prisma migrate dev
- npx prisma generate
- Frontend setup
- cd ../frontend
- npm install
- Run the apps (in two terminals)
- Backend: cd backend && npm run dev (or npm start)
- Frontend: cd frontend && npm run dev (or npm start)
- ```npm run dev:all`` to run both frontend and backend at a time .
Register for different sections (e.g., CS101-A, CS101-B), each with its own schedule, instructor, and classroom.
- Each section has a defined seat cap
- When full, students are auto-added to the waitlist
- Background automation promotes waitlisted students when seats free up
Avoid accidental overlaps with:
- Hard clash detection (same time conflicts)
- Soft clash handling (back-to-back or buffer issues)
If a class clashes, the system:
- Suggests alternate sections
- Or builds an optimized schedule based on preferences
(e.g., no early mornings, minimal gaps)
Add or drop courses within deadlines — updates reflect instantly across:
- Seats
- Waitlists
- Timetables
Instant alerts for:
- Waitlist movement
- Deadline reminders
- Registration updates
Insights for admins and faculty on:
- Seat usage
- Waitlist trends
- Registration stats
Exportable reports included ✅
| Feature / Action | Student | Faculty | Admin |
|---|---|---|---|
| Register / Drop | Yes | No | No |
| Auto Waitlist Join | Yes | No | No |
| Timetable View | Yes | No | No |
| Notifications | Yes | No | No |
| Manage Rosters | No | Yes | No |
| Export Lists | No | Yes | Yes |
| Approve Seat Increases | No | Yes | No |
| Create Course Catalog | No | No | Yes |
| Assign Instructors | No | No | Yes |
| Set Deadlines | No | No | Yes |
| View Analytics | No | No | Yes |
Choose your role at login:
- Student
- Faculty
- Admin
- Select academic term (e.g., Fall 2025)
- Browse or search the course catalog
- Register instantly or auto-join waitlist
- View your color-coded weekly timetable
- Get alerts and reminders in real-time
- View assigned teaching sections
- Manage student rosters
- Export lists for grading or attendance
- Approve seat increases (if applicable)
- Create and configure courses and sections
- Assign instructors and classroom locations
- Set academic deadlines
- Monitor analytics, trends, and export reports