MediQueue is a real-time medical queue and appointment system with Django that replaces physical waiting rooms with a live browser-based token system. Built with Django 4.2, Django Channels, Daphne and MySQL, it pushes queue updates to every connected device over WebSockets without a page refresh. Key features include role-based dashboards for patients, doctors and admins, doctor availability with auto-generated time slots, smart digital check-in, live queue tracking with position and status, vitals and prescription records, and a doctor sign-off workflow. Ideal for BCA, MCA, B.Tech and MBA final year students.
MediQueue is a real-time medical queue and appointment system with Django that turns a clinic waiting room into a live digital ecosystem. Instead of static paper tokens, patients check in from their phone and watch their position update instantly, while doctors call the next patient with a single click. The system is built on Django 4.2 with Django Channels and Daphne for the WebSocket layer, so data syncs across every connected device without a page refresh. It also handles the clinical side, with integrated vitals, diagnosis, and prescription management tied into the same appointment flow.
| Component | Technology |
| Backend | Django 4.2 |
| Real-Time Layer | Django Channels 4.1 |
| ASGI Server | Daphne |
| API Layer | Django REST Framework |
| Database | MySQL 8.0 |
| Frontend | Bootstrap 5.3, HTML, JavaScript |
| Communication | Native Browser WebSocket API |
| Static Files | WhiteNoise, Pillow |
A patient books an appointment against a doctor's auto-generated time slot, then checks in digitally on arrival and receives a queue position. When the doctor clicks Call Next, the browser sends a JSON action over the WebSocket, the QueueConsumer updates the database and marks the next patient as Called, and the server broadcasts a queue_update message to the group for that doctor. Every device viewing that queue re-renders instantly with the new list and stats. After the consultation the doctor records vitals, diagnosis, and prescriptions, and signing off closes the appointment and automatically advances the queue.
This project suits BCA, MCA, B.Tech CS/IT, M.Tech, and MBA IT students who want a final year submission built on modern real-time web technology rather than a plain CRUD app. WebSockets, ASGI, Django Channels, custom user models, and role-based access control are all strong viva topics that you can demonstrate live. It also works well as a portfolio and interview project, since real-time systems and healthcare software are both in demand.
The project can be extended with SMS and email appointment reminders, online payment integration for consultation fees, a video consultation module, estimated wait time prediction using historical data, a mobile app frontend, lab report uploads linked to patient records, multi-clinic or multi-branch support, and analytics dashboards for patient flow.
Watch the full project walkthrough and setup tutorial on our YouTube channel.
▶ Watch on YouTube – Decode It
For complete project details, source code, and setup guide, visit the official project page.
1. Download and extract the ZIP file 2. Open the project folder: cd mediqueue 3. Create a virtual environment: python -m venv venv Windows: venv\Scripts\activate macOS / Linux: source venv/bin/activate 4. Install dependencies: pip install django djangorestframework channels daphne mysqlclient pillow whitenoise 5. Create the MySQL database and update the DB credentials in settings.py 6. Run migrations: python manage.py makemigrations python manage.py migrate 7. Create an admin account: python manage.py createsuperuser 8. Start the ASGI server: daphne -b 0.0.0.0 -p 8000 mediqueue.asgi:application 9. Open http://127.0.0.1:8000 in your browser Note: Use Daphne rather than runserver so the WebSocket queue works correctly.
FAQ for this project coming soon.
No reviews yet. Be the first to review!