How duwiarsana/softwareantrianbankrs works
QueuePro is a multi-tenant digital queue system. Visitors select a service at the kiosk to obtain a ticket; counter staff call and complete tickets; a public display reflects queue activity and rotates advertisements with Indonesian voice announcements. Administrators manage services, counters, ads, and organization settings, while users register or sign in. README documents real-time synchronization; sampled source confirms the app/API entry points, service management, authentication, and display behavior, but not the detailed ticket-route or socket-event wiring.
Main entry points: index.js HTTP and socket server · App.jsx Route application · api.js HTTP API client · auth.js Authentication routes
Components 29
Web application
- Route application
client/src/App.jsx - Login and registration
client/src/pages/Login.jsx - Organization registration
client/src/pages/Register.jsx - Ticket kiosk
client/src/pages/Kiosk.jsx - Counter dashboard
client/src/pages/Counter.jsx - Queue display
client/src/pages/Display.jsx - Admin management
client/src/pages/admin - HTTP API client
client/src/lib/api.js - Realtime client
client/src/lib/socket.js - Voice announcements
client/src/lib/voice.js
Queue and admin API
- HTTP and socket server
server/src/index.js - Service routes
server/src/routes/services.js - Ticket routes
server/src/routes/tickets.js - Counter routes
server/src/routes/counters.js - Advertisement routes
server/src/routes/advertisements.js - Organization routes
server/src/routes/organizations.js - Master routes
server/src/routes/master.js - Socket event handlers
server/src/socket/handler.js
Identity and tenancy
- Auth context
client/src/contexts/AuthContext.jsx - Authentication routes
server/src/routes/auth.js - JWT authorization
server/src/middleware/auth.js
Persistent state
- Queue data schema
server/prisma/schema.prisma - Application database
Other components
- Visitors
- Counter staff
- Administrators
- Waiting-room display
- Google OAuth
- Email service
Connections 41
- Visitors → Route application: open kiosk
- Counter staff → Route application: open counter
- Administrators → Route application: manage system
- Waiting-room display → Route application: open display
- Route application → Ticket kiosk: routes to
- Route application → Counter dashboard: routes to
- Route application → Queue display: routes to
- Route application → Admin management: routes to
- Route application → Login and registration: routes to
- Route application → Organization registration: routes to
- Login and registration → Auth context: signs in through
- Organization registration → Auth context: registers through
- Auth context → HTTP API client: requests identity
- Ticket kiosk → HTTP API client: requests services and tickets
- Counter dashboard → HTTP API client: updates queue
- Admin management → HTTP API client: manages settings
- Queue display → HTTP API client: loads queue and ads
- Queue display → Realtime client: subscribes to updates
- Queue display → Voice announcements: announces calls
- HTTP API client → HTTP and socket server: HTTP requests
- Realtime client → HTTP and socket server: socket connection
- HTTP and socket server → Authentication routes: mounts routes
- HTTP and socket server → Service routes: mounts routes
- HTTP and socket server → Ticket routes: mounts routes
- HTTP and socket server → Counter routes: mounts routes
- HTTP and socket server → Advertisement routes: mounts routes
- HTTP and socket server → Organization routes: mounts routes
- HTTP and socket server → Master routes: mounts routes
- HTTP and socket server → Socket event handlers: sets up handlers
- Authentication routes → JWT authorization: checks and signs tokens
- Service routes → JWT authorization: guards admin routes
- Authentication routes → Google OAuth: verifies credentials
- Authentication routes → Email service: sends registration report
- Authentication routes → Application database: reads and writes users and organizations
- Service routes → Application database: reads and writes services
- Ticket routes → Application database: queue persistence
- Counter routes → Application database: counter persistence
- Advertisement routes → Application database: advertisement persistence
- Organization routes → Application database: organization persistence
- Master routes → Application database: master data persistence
- Queue data schema → Application database: defines stored models