DigiToken is a queue management web app for service centers. Customers can book or scan for a queue token, while staff manage the live queue from the admin dashboard.
- Customer dashboard with active token and estimated wait time
- Online service and time-slot booking flow
- Walk-in QR scanning with camera support
- Admin queue controls for serving, completing, and marking no-shows
- Live queue updates through Server-Sent Events
- Browser notification events for queue changes
- Notification history page
- Admin analytics with token volume, service mix, and wait-time charts
- Responsive rounded navigation on customer and admin views
- Light and dark themes
DigiToken/
├── admin.html
├── dashboard.html
├── display.html
├── walkin.html
├── service.html
├── notifications.html
├── profile.html
├── help.html
├── auth.html
├── assets/
│ ├── css/
│ │ ├── style.css
│ │ ├── admin.css
│ │ └── dashboard.css
│ ├── js/
│ │ ├── main.js
│ │ └── admin/
│ │ ├── app.js
│ │ ├── navigation.js
│ │ ├── notifications.js
│ │ ├── queue.js
│ │ └── state.js
│ └── img/
├── data/store.json
├── server.js
└── package.json
Requirements: Node.js 18 or newer.
npm startOpen http://localhost:3000 in a browser.
Useful pages:
Camera QR scanning requires localhost or HTTPS and browser camera permission. Browsers without QR detection support can use the demo QR fallback.
GET /api/health- check service healthGET /api/queue- read the current queuePOST /api/tokens- create a tokenPATCH /api/tokens/:id/status- update token statusGET /api/notifications- read notification historyPOST /api/notifications- create a notification eventGET /api/events- subscribe to live queue and notification events
Queue and notification data is stored in data/store.json for this prototype. Email, WhatsApp, SMS, and push delivery require an external provider and credentials.
For more backend details, see BACKEND.md. Recent work is summarized in update.md.