How nallurinithin/queueless works
QueueLess coordinates patient appointments and clinic queues through patient-facing booking/check-in, staff role consoles, and a live waiting-room display. The documented booking flow reserves a slot for five minutes before deposit payment; staff manage allocation and queue operations, while doctors enforce consultation safety. The sampled code confirms client routing, staff session handling, queue persistence and socket broadcasts. Other major capabilities—payments, clinic administration, OTP, and notifications—are included from README and the repository tree; unsampled links are omitted or marked unverified.
Main entry points: queueService.js Queue Services · appointmentService.js Appointment Services · Appointment.js Domain Models · index.js API Routes
Components 24
Patient Experience
- Appointment Booking
queueless-app/client/src/pages/PatientBooking.jsx - Patient Check-In
queueless-app/client/src/pages/PatientCheckIn.jsx - Patient Queue Tracker
queueless-app/client/src/pages/PatientQueue.jsx
Clinic Operations
- Staff Authentication
queueless-app/client/src/context/AuthContext.jsx - Owner Console
queueless-app/client/src/pages/dashboards/OwnerDashboard.jsx - Reception Console
queueless-app/client/src/pages/dashboards/ReceptionistDashboard.jsx - Doctor Console
queueless-app/client/src/pages/dashboards/DoctorDashboard.jsx - Staff Live Queue
queueless-app/client/src/pages/StaffLiveQueue.jsx
Queue and Display
- Waiting Room Display
queueless-app/client/src/pages/WaitingRoomDisplay.jsx
Application Services
- API Routes
queueless-app/server/src/routes/index.js - Appointment Services
queueless-app/server/src/services/appointmentService.js - Queue Services
queueless-app/server/src/services/queueService.js - Patient OTP and Sessions
queueless-app/server/src/services/patientAuthService.js - Staff and Invitations
queueless-app/server/src/services/staffAuthService.js - Payment Processing
queueless-app/server/src/services/paymentService.js - Notifications
queueless-app/server/src/services/notificationOutboxService.js - Realtime Socket
queueless-app/server/src/config/socket.js
Persistent Data
- Clinic Database
queueless-app/server/src/config/database.js - Domain Models
queueless-app/server/src/models/Appointment.js
Other components
- Patient
- Clinic Staff
- Razorpay
- SMS Provider
- Email Provider
Connections 32
- Patient → Appointment Booking: requests booking
- Appointment Booking → Patient OTP and Sessions: verifies OTP
- Appointment Booking → Appointment Services: submits request
- Appointment Services → Payment Processing: holds and confirms
- Payment Processing → Razorpay: charges deposit
- Clinic Staff → Staff Authentication: signs in
queueless-app/client/src/context/AuthContext.jsx - Staff Authentication → Staff and Invitations: authenticates
- Staff and Invitations → Email Provider: sends invitations
queueless-app/server/src/services/staffAuthService.js - Clinic Staff → Owner Console: administers clinic
- Clinic Staff → Reception Console: manages appointments
- Clinic Staff → Doctor Console: runs consultations
- Clinic Staff → Staff Live Queue: operates queue
- Reception Console → Appointment Services: allocates appointments
- Reception Console → Queue Services: registers arrivals
- Doctor Console → Queue Services: advances consultation
- Patient → Patient Check-In: checks in
- Patient Check-In → Queue Services: activates queue entry
- Patient → Patient Queue Tracker: tracks progress
- Staff Live Queue → Queue Services: operates live queue
- Queue Services → Realtime Socket: broadcasts updates
queueless-app/server/src/services/queueService.js - Realtime Socket → Waiting Room Display: updates display
- Queue Services → Patient Queue Tracker: serves queue status
- Clinic Staff → Waiting Room Display: views lobby display
- API Routes → Appointment Services: routes requests
- API Routes → Queue Services: routes queue actions
- API Routes → Staff and Invitations: routes staff actions
- Appointment Services → Domain Models: reads and writes
queueless-app/server/src/services/appointmentService.js - Queue Services → Domain Models: reads and writes
queueless-app/server/src/services/queueService.js - Patient OTP and Sessions → Domain Models: stores sessions
- Domain Models → Clinic Database: persists records
- Patient OTP and Sessions → SMS Provider: sends OTP
- Appointment Services → Notifications: queues notices