A modern, professional web application for comprehensive hospital management with intelligent scheduling, secure medical records, and real-time notifications.
This is a hospital management system I built for managing appointments between doctors and patients. It has three types of users:
- Admin - Manages doctors and patients
- Doctors - View appointments and update treatment records
- Patients - Book appointments and view medical history
Most hospitals still use paper registers or complicated software. I wanted to make something simple that:
- Lets patients book appointments online
- Helps doctors see their schedule easily
- Gives admins control over everything
- Keeps all medical records in one place
- Register and login
- Book appointments (choose doctor, date, time slot)
- View appointment history
- See treatment records (diagnosis, medicines prescribed)
- Cancel appointments
- View today's appointments
- See assigned patients
- Update treatment details (diagnosis, prescription, notes)
- Mark appointments as completed
- Set availability (morning/evening slots for next 7 days)
- Add/edit/blacklist doctors
- Edit/blacklist patients
- View all appointments
- Reschedule or cancel any appointment
- See appointment history for any doctor or patient
- Dashboard with statistics
Frontend:
- HTML, CSS, JavaScript
- Vue.js 3 (loaded from CDN)
- Bootstrap 5 for styling
- Professional dark theme (#0f172a)
Backend:
- Python Flask
- SQLite database
- SQLAlchemy (ORM)
- JWT for authentication
Background Jobs:
- Celery (for sending emails)
- Redis (message broker)
hospital-management-system/
βββ backend/
β βββ models/ # Database tables
β βββ routes/ # API endpoints
β β βββ auth.py # Login/Register
β β βββ admin.py # Admin features
β β βββ doctor.py # Doctor features
β β βββ patient.py # Patient features
β βββ celery_tasks/ # Email sending tasks
β βββ app.py # Main Flask app
β βββ database.py # Database setup
β βββ seed_db.py # Create sample data
βββ frontend/
β βββ js/
β β βββ app.js # Main Vue app
β β βββ admin.js # Admin dashboard
β β βββ doctor.js # Doctor dashboard
β β βββ patient.js # Patient dashboard
β β βββ api.js # API calls
β βββ custom.css # Styling
β βββ index.html # Main page
βββ docs/ # Documentation
For detailed installation and setup instructions, please refer to docs/setup.md.
Quick Start:
# Clone and setup
git clone https://github.com/aloktripathi1/hospital-management-system.git
cd hospital-management-system/backend
# Install and run
pip install -r requirements.txt
python seed_db.py
python app.py
# Visit http://localhost:5000Default Login:
- Admin:
admin/admin - Doctor:
ajay/ajay.kumar123 - Patient:
rahul/rahul123
- users - Login credentials for all users
- doctors - Doctor profiles (name, specialization, experience, fees)
- patients - Patient info (name, age, gender, medical history)
- appointments - Booking records (date, time, status)
- treatments - Treatment records (diagnosis, prescription, notes)
- doctor_availability - Doctor schedule slots (morning/evening)
Modern hero section with professional dark theme
Clean branded login page with stats
Manage doctors, patients, and appointments
View appointments and update treatments
Book appointments and view history
- Building REST APIs with Flask
- User authentication with JWT
- Frontend development with Vue.js
- Database design and relationships
- Background job processing with Celery
- UI/UX design principles
- Payment integration for consultation fees
- Video consultation feature
- Prescription PDF download
Check the docs/ folder for more details:
setup.md- Detailed setup instructionsarchitecture.md- How everything works togetherbg_jobs.md- Email system explanation
Feel free to fork this project and make improvements! Some ideas:
- Add more specializations
- Improve UI design
- Add more features (lab reports, pharmacy, etc.)
MIT License





