How shankhodeep-das/exam_seat_allocation_project works
SeatWise combines a terminal-based exam-seat utility with a web/mobile portal and an Express API. In the terminal workflow, an operator chooses student or room tasks; the Python entry point dispatches to student-file operations or seat/room lookups. In the portal workflow, users sign in, request a role-specific dashboard, and staff can manage buildings and rooms. The backend uses Prisma with Neon; staff dashboard code also reads allocation and empty-seat report files. Several links are limited to explicit imports, routes, or calls shown in the excerpts; unsampled allocation and UI wiring is not inferred.
Main entry points: auth.routes.js Auth Routes · api.js Web API Client · main.py Terminal Menu · prisma.js Prisma Client
Components 30
Terminal Exam Tools
- Terminal Menu
main.py - Student Records
STUDENTS_SECTION - Student Search
STUDENTS_SECTION/Student_search.py - Room Capacity
EXAM_SECTION/Check_capacity.py - Seat Lookup
SEAT_SECTION/Student_Seat_position.py - Room Details
SEAT_SECTION/View_Room_Details.py - CT Seating
SEAT_SECTION/Seating_arrangements_for_CT.py - Semester Seating
SEAT_SECTION/Seating_arrangements_for_semester.py - Student Data Generator
STUDENTS_SECTION/Student_data_generator.py
API and Data
- Express API
backend/src/app.js - Auth Routes
backend/src/routes/auth.routes.js - Building Routes
backend/src/routes/building.routes.js - Authentication
backend/src/controllers/auth.controller.js - Token Authorization
backend/src/middleware/auth.middleware.js - Student Dashboard
backend/src/controllers/studentDashboard.controller.js - Staff Dashboard
backend/src/controllers/staffDashboard.controller.js - Building Management
backend/src/controllers/building.controller.js - Prisma Client
backend/src/config/prisma.js - Neon Database
- Seat Allocation Jobs
backend/src/scripts
Web Portal
- Staff Dashboard UI
website/app/staff/dashboard/page.jsx - Room Administration
website/app/staff/room/AddBuildings.jsx - Exam Room Views
website/app/staff/room/YourExamRooms.jsx - Student Dashboard UI
website/app/student/dashboard/page.jsx - Web Session Auth
website/context/AuthContext.jsx - Web API Client
website/lib/api.js
Mobile App
- Mobile Session
mobile/app/context/AuthContext.tsx - Mobile API Client
mobile/app/services/api.ts - Mobile Home
mobile/app/(tabs)/index.tsx
Other components
- Operator
Connections 32
- Operator → Terminal Menu: selects tasks
main.py - Terminal Menu → Student Records: dispatches CRUD
main.py - Terminal Menu → Student Search: dispatches search
main.py - Terminal Menu → Room Capacity: checks capacity
main.py - Terminal Menu → Seat Lookup: finds seat
main.py - Terminal Menu → Room Details: shows room
main.py - Staff Dashboard UI → Web API Client: requests data
website/app/staff/dashboard/page.jsx - Staff Dashboard UI → Web API Client: updates password
website/app/staff/dashboard/page.jsx - Web API Client → Auth Routes: calls dashboard API
- Room Administration → Web API Client: requests room API
- Exam Room Views → Web API Client: requests room API
- Student Dashboard UI → Web API Client: requests dashboard
- Web Session Auth → Web API Client: uses API
- Express API → Auth Routes: mounts routes
backend/src/app.js - Express API → Building Routes: mounts routes
backend/src/app.js - Auth Routes → Authentication: routes login
backend/src/routes/auth.routes.js - Auth Routes → Token Authorization: protects endpoints
backend/src/routes/auth.routes.js - Auth Routes → Student Dashboard: routes dashboard
backend/src/routes/auth.routes.js - Auth Routes → Staff Dashboard: routes dashboard
backend/src/routes/auth.routes.js - Building Routes → Token Authorization: protects endpoints
backend/src/routes/building.routes.js - Building Routes → Building Management: routes operations
backend/src/routes/building.routes.js - Authentication → Prisma Client: queries records
backend/src/controllers/auth.controller.js - Student Dashboard → Prisma Client: queries dashboard
backend/src/controllers/studentDashboard.controller.js - Staff Dashboard → Prisma Client: queries staff
backend/src/controllers/staffDashboard.controller.js - Building Management → Prisma Client: manages rooms
backend/src/controllers/building.controller.js - Token Authorization → Prisma Client: loads user
backend/src/middleware/auth.middleware.js - Prisma Client → Neon Database: connects through adapter
backend/src/config/prisma.js - Staff Dashboard → Seat Allocation Jobs: reads reports
backend/src/controllers/staffDashboard.controller.js - Seat Allocation Jobs → Staff Dashboard: produces reports
- Mobile Home → Mobile Session: uses session
mobile/app/(tabs)/index.tsx - Mobile Session → Mobile API Client: loads dashboard
mobile/app/context/AuthContext.tsx - Mobile API Client → Auth Routes: requests dashboard