How shiza176/smart-queue-prediction-system works
Smart Queue is a hospital queue-management web app: patients register or log in, select a doctor, book a token, and check queue position and estimated wait; doctors advance or reset queues, while admins manage doctors and patients and view statistics. The Vue client calls an Express API backed by MongoDB, with JWT authentication and role checks protecting operations. The main patient, doctor, and admin workflows are documented; detailed wiring for unsampled views and several backend modules is therefore shown only where supported by the tree and documented capabilities.
Main entry points: index.js Role-aware routes · axios.js HTTP client · server.js API server · adminRoutes.js Admin API
Components 26
Vue client
- App shell
Queue-management/smart-queue/src/App.vue - Role-aware routes
Queue-management/smart-queue/src/router/index.js - Registration and login
Queue-management/smart-queue/src/views/Register.vue - Doctor selection
Queue-management/smart-queue/src/views/DoctorList.vue - Token booking
Queue-management/smart-queue/src/views/BookToken.vue - Queue status and wait
Queue-management/smart-queue/src/views/QueueStatus.vue - Doctor queue controls
Queue-management/smart-queue/src/views/DoctorDashboard.vue - Admin management
Queue-management/smart-queue/src/views/AdminDashboard.vue - HTTP client
Queue-management/smart-queue/src/api/axios.js
Express API
- API server
Queue-management/backend-folder/server.js - Registration and login API
Queue-management/backend-folder/routes/authRoutes.js - Doctor and queue API
Queue-management/backend-folder/routes/doctorRoutes.js - Token booking and status API
Queue-management/backend-folder/routes/tokenRoutes.js - Admin API
Queue-management/backend-folder/routes/adminRoutes.js
Identity and access
- JWT verification
Queue-management/backend-folder/middleware/auth.js - Role authorization
Queue-management/backend-folder/middleware/role.js - JWT creation
Queue-management/backend-folder/utils/generateToken.js
MongoDB data
- Database connection
Queue-management/backend-folder/config/db.js - Patient records
Queue-management/backend-folder/models/Patient.js - Doctor records
Queue-management/backend-folder/models/Doctor.js - Admin records
Queue-management/backend-folder/models/Admin.js - Queue tokens
Queue-management/backend-folder/models/Token.js
Other components
- Patient
- Doctor
- Administrator
- MongoDB
Connections 47
- Patient → Registration and login: registers or logs in
- Patient → Doctor selection: browses
- Patient → Token booking: books token
- Patient → Queue status and wait: checks queue
- Doctor → Doctor queue controls: manages queue
- Administrator → Admin management: manages system
- App shell → Role-aware routes: displays routes
- Role-aware routes → Registration and login: selects view
- Role-aware routes → Doctor selection: selects view
- Role-aware routes → Token booking: selects view
- Role-aware routes → Queue status and wait: selects view
- Role-aware routes → Doctor queue controls: selects view
- Role-aware routes → Admin management: selects view
- Registration and login → HTTP client: sends auth requests
- Doctor selection → HTTP client: requests doctors
- Token booking → HTTP client: books token
- Queue status and wait → HTTP client: requests status
- Doctor queue controls → HTTP client: manages queue
- Admin management → HTTP client: manages records
- HTTP client → API server: sends API requests
- API server → Registration and login API: dispatches
- API server → Doctor and queue API: dispatches
- API server → Token booking and status API: dispatches
- API server → Admin API: dispatches
- Registration and login API → Patient records: reads and writes
- Registration and login API → Doctor records: reads
- Registration and login API → Admin records: reads
- Registration and login API → JWT creation: creates token
- Doctor and queue API → JWT verification: verifies requests
- Doctor and queue API → Role authorization: checks role
- Doctor and queue API → Doctor records: reads and updates
- Token booking and status API → JWT verification: verifies requests
- Token booking and status API → Role authorization: checks role
- Token booking and status API → Doctor records: reads doctor queue
- Token booking and status API → Queue tokens: creates and reads
- Admin API → JWT verification: verifies requests
- Admin API → Role authorization: checks role
- Admin API → Patient records: reads and deletes
- Admin API → Doctor records: reads statistics
- Admin API → Queue tokens: counts bookings
- JWT verification → JWT creation: verifies issued tokens
- Database connection → MongoDB: connects
- Patient records → MongoDB: persists records
- Doctor records → MongoDB: persists records
- Admin records → MongoDB: persists records
- Queue tokens → MongoDB: persists tokens
- API server → Database connection: connects database