A real-time, full-stack dashboard for visualizing hospital operations : appointment status, room occupancy, doctor workload, and billing ,built as a database and systems design lab project.
- Live REST API (Node.js/Express + MySQL) exposing four operational endpoints
- Real-time updates via Socket.IO : the appointment status chart updates automatically as new appointments are simulated, no page refresh
- Simulated live data feed mimicking continuous hospital activity for testing real-time behavior
- Four interactive dashboards (React + Recharts): appointment status, room occupancy (stacked), doctor patient load, billing revenue by payment status
- Accessible, status-driven color coding : colors are assigned by meaning (paid/pending/occupied/available), not decoratively
- Backend: Node.js, Express, mysql2 (connection pooling, parameterized queries), Socket.IO
- Frontend: React (Vite), Recharts, Axios, socket.io-client
- Database: MySQL :12+ normalized tables (patients, staff, doctors, nurses, departments, rooms, appointments, billing, and more)
- Testing/verification: Postman for API contract testing, MySQL Workbench for data integrity checks
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/appointments/status-summary |
Appointment counts grouped by status (live via Socket.IO) |
| GET | /api/rooms/occupancy |
Room availability by department |
| GET | /api/doctors/patient-load |
Appointment count per doctor |
| GET | /api/billing/revenue-summary |
Revenue and bill count by payment status |