How camizzz0/project-ourqueue works
OurQueue is a digital queue system: administrators manage queues and call tickets, while guests take a ticket and follow its status; superadmins oversee accounts and system-wide queues. The sampled backend shows route dispatch into controllers, database-backed queue operations, SSE ticket updates, and push notifications when a participant is called. Frontend route structure supports the corresponding guest, admin, and superadmin experiences. Several controller and page implementations were not sampled, so uncertain internal wiring is omitted.
Main entry points: app.js Express API · App.jsx Application routes · database.js Postgres database · pushService.js Push delivery
Components 22
Web application
- Application routes
frontend/src/App.jsx - Queue dashboard
frontend/src/pages/dashboard/DashboardPage.jsx - Guest ticket page
frontend/src/pages/public/QueueGuestPage.jsx - Authentication pages
frontend/src/pages/auth/LoginPage.jsx - Superadmin pages
frontend/src/pages/superadmin/StatsPage.jsx - API client
frontend/src/utils/api.js
API workflows
- Express API
backend/src/app.js - Authentication routes
backend/src/routes/authRoutes.js - Queue routes
backend/src/routes/queueRoutes.js - Ticket routes
backend/src/routes/entryRoutes.js - Superadmin routes
backend/src/routes/superadminRoutes.js - Authentication handlers
backend/src/controllers/authController.js - Queue management
backend/src/controllers/queueController.js - Ticket handling
backend/src/controllers/entryController.js - System oversight
backend/src/controllers/superadminController.js
Queue data
- Queue schema
backend/src/db/schema.js - Postgres database
backend/src/config/database.js
Notifications
- Push endpoints
backend/src/controllers/pushController.js - Push delivery
backend/src/services/pushService.js
Other components
- Queue admin
- Guest participant
- Web Push service
Connections 30
- Queue admin → Application routes: uses
- Guest participant → Application routes: uses
- Application routes → Queue dashboard: routes to
- Application routes → Guest ticket page: routes to
- Application routes → Authentication pages: routes to
- Application routes → Superadmin pages: routes to
- Queue dashboard → API client: requests data
- Guest ticket page → API client: requests ticket
- Authentication pages → API client: requests auth
- Superadmin pages → API client: requests data
- API client → Express API: HTTP requests
- Express API → Authentication routes: dispatches
- Express API → Queue routes: dispatches
- Express API → Ticket routes: dispatches
- Express API → Superadmin routes: dispatches
- Authentication routes → Authentication handlers: dispatches
- Queue routes → Queue management: dispatches
- Ticket routes → Ticket handling: dispatches
- Superadmin routes → System oversight: dispatches
- Authentication handlers → Postgres database: reads/writes
- Queue management → Postgres database: reads/writes
- Ticket handling → Postgres database: reads/writes
- System oversight → Postgres database: reads/writes
- Postgres database → Queue schema: uses definitions
- Express API → Push endpoints: dispatches
- Queue management → Push delivery: notifies called guest
- Ticket handling → Push delivery: notifies called guest
- Push endpoints → Push delivery: manages delivery
- Push delivery → Postgres database: loads subscriptions
- Push delivery → Web Push service: sends notification