How rhems95/queuing-system works
PECIT Queuing System is a Laravel application for issuing and serving daily student queue tickets. The main flow is kiosk ticket creation (service, priority, Student ID, wait estimate, print), followed by staff call/recall/hold/complete actions and a public, anonymous display. Admins manage students and users and review tickets, service history, and reports. The graph includes documented capabilities whose controller implementations were not sampled; links involving those areas reflect the documented workflow, not inspected call sites.
Main entry points: Queue.php Tickets · KioskController.php Kiosk ticket flow · WindowController.php Window actions · dashboard.blade.php Admin screens
Components 28
Ticketing
- Kiosk ticket flow
app/Http/Controllers/KioskController.php - Student ticket guard
app/Services/StudentQueueGuard.php - Wait estimator
app/Services/WaitTimeEstimator.php - Kiosk screens
resources/views/kiosk/index.blade.php - Ticket print views
resources/views/kiosk/printing.blade.php
Service Operations
- Window actions
app/Http/Controllers/WindowController.php - Fair queue scheduler
app/Services/FairQueueScheduler.php - Queue service
app/Services/QueueService.php - Staff window
resources/views/staff/window.blade.php - Staff float
resources/views/staff/float.blade.php - Display data
app/Http/Controllers/DisplayController.php - Public display
resources/views/display/index.blade.php
Administration
- Live dashboard
app/Http/Controllers/AdminDashboardController.php - User management
app/Http/Controllers/UserManagementController.php - Student management
app/Http/Controllers/StudentManagementController.php - History and reports
app/Http/Controllers/HistoryController.php - Admin screens
resources/views/admin/dashboard.blade.php
Access Control
- Login
app/Http/Controllers/Auth/LoginController.php - Role access checks
app/Http/Middleware/EnsureUserIsStaff.php
Queue Data
- Tickets
app/Models/Queue.php - Call records
app/Models/QueueCall.php - Student register
app/Models/Student.php - Services and windows
app/Models/Service.php - User records
app/Models/User.php
Other components
- Customer
- Staff
- Administrator
- Lobby viewers
Connections 48
- Customer → Kiosk screens: requests ticket
- Kiosk screens → Kiosk ticket flow: submits details
- Kiosk ticket flow → Student ticket guard: checks open ticket
- Kiosk ticket flow → Wait estimator: estimates wait
- Kiosk ticket flow → Tickets: creates ticket
- Kiosk ticket flow → Student register: looks up ID
- Kiosk ticket flow → Services and windows: loads services
- Kiosk ticket flow → Ticket print views: renders ticket
- Ticket print views → Customer: prints number
- Student ticket guard → Tickets: checks daily tickets
- Wait estimator → Tickets: reads waiting tickets
- Wait estimator → Call records: reads service history
- Staff → Login: signs in
- Login → User records: checks credentials
- Login → Staff window: routes staff
- Login → Staff float: routes float login
- Staff → Staff window: operates window
- Staff → Staff float: operates float
- Staff window → Window actions: submits actions
- Staff float → Window actions: submits actions
- Window actions → Fair queue scheduler: selects next ticket
- Window actions → Queue service: resolves current call
- Window actions → Tickets: updates ticket status
- Window actions → Call records: records calls
- Window actions → Services and windows: locks service queue
- Fair queue scheduler → Tickets: orders waiting tickets
- Queue service → Call records: reads window calls
- Queue service → Tickets: resolves serving ticket
- Queue service → Student register: looks up student name
- Lobby viewers → Public display: views queue
- Public display → Display data: requests display data
- Display data → Tickets: reads waiting tickets
- Display data → Call records: reads current calls
- Display data → Services and windows: groups by window
- Administrator → Login: signs in
- Administrator → Admin screens: uses admin tools
- Admin screens → Live dashboard: requests dashboard
- Admin screens → User management: manages users
- Admin screens → Student management: manages students
- Admin screens → History and reports: reviews records
- Live dashboard → Tickets: summarizes tickets
- User management → User records: reads and writes
- User management → Services and windows: assigns windows
- Student management → Student register: imports and manages
- Student management → Student ticket guard: checks before delete
- History and reports → Call records: reads and edits
- History and reports → Tickets: reports tickets
- History and reports → Services and windows: groups reports