A comprehensive Queue Management System (QMS) designed for healthcare facilities. Features a multi-role ecosystem (Kiosk, Operator, TV Display, Admin) with real-time WebSocket updates, mock/api toggle modes, and robust analytics.
- Kiosk Flow: Touch-friendly ticket issuance with DNI recognition and service selection.
- Operator Console: Real-time queue management, priority triaging, and "Call/Start/Finish" workflow.
- TV Display: Dynamic waiting room screen with "Now Serving" overlays and voice callouts.
- Real Analytics: Live dashboard powered by PostgreSQL and Server-Sent Events (SSE).
- Hybrid Architecture: Runs fully mocked (standalone) or integrated with .NET API.
- Frontend: Vite + TypeScript (Multi-Page App) + TailwindCSS
- Backend: ASP.NET Core 8 Minimal API + Entity Framework Core
- Database: PostgreSQL (Dockerized)
- Infrastructure: Docker Compose, Nginx Reverse Proxy
- Quality Assurance: Playwright (E2E), xUnit (Integration), GitHub Actions CI
├── apps/
│ ├── web/ # Frontend (Vite/TS/Tailwind)
│ └── api/ # Backend (.NET 8 API)
├── scripts/ # Automation & Smoke Tests
├── nginx/ # Reverse Proxy Config
└── @fotos/ # Automated Demo Captures
Prerequisites: Node.js 18+, .NET 8 SDK, Docker Desktop.
-
Start Database & Services
docker compose up -d
-
Run Backend API
cd apps/api dotnet runAPI runs on http://localhost:5150
-
Run Frontend
cd apps/web npm run devWeb runs on http://localhost:5173
The project is production-ready with docker-compose.prod.yml.
- Nginx: Handles routing (
/-> Web,/api-> Backend). - CORS: Configured for secure cross-origin access.
- Health: Built-in health checks for container orchestration.
Auth is currently OPTIONAL (QUEUE_AUTH_REQUIRED=false).
To enable: set env var to true.
- Admin:
admin/admin123 - Operator:
operador/op123
- Backend Integration:
cd apps/api && dotnet test - Capture Demo Media:
Generates screenshots in
cd apps/web npm run capture:demo@fotos/for documentation.
For portfolio demonstration purposes only. 2026.