A web-based Hospital Management System built using Flask and MySQL, designed to manage hospital operations through role-specific dashboards including Admin, Doctor, Front Desk, and Data Entry.
Hospital Management System/
├── app.py # Main Flask app
├── db.py # Database helper file
├── DBMS hospital Project.session.sql # SQL script for Database setup
├── static/
│ └── css/ # CSS files for various dashboards
| ├── admin_dashboard.html
│ ├── doctor_dashboard.html
│ ├── data_entry_dashboard.html
│ ├── front_desk_dashboard.html
│ └── home.html
├── templates/ # Jinja2 HTML templates
│ ├── admin_dashboard.html
│ ├── doctor_dashboard.html
│ ├── data_entry_dashboard.html
│ ├── front_desk_dashboard.html
│ ├── login.html
│ ├── login.html
│ ├── login.html
│ ├── login.html
│ └── home.html
└── .vscode/ # VSCode config
-
🔐 Login System
- Role-based access: Admin, Doctor, Front Desk, Data Entry
- Forgot Password: Set a new password after OTP verification
- Reset Password: Requires old password for validation
-
🧾 Front Desk Dashboard
- Register new patients
- Schedule appointments for patients on availability of docktors
- Assign rooms
-
👨⚕️ Doctor Dashboard
- View appointments of Doctors
- Enter treatment details for patients
-
🧪 Data Entry Dashboard
- Record test results
- Upload PDF test reports
-
🧑💼 Admin Dashboard
- Add new users
- Delete users
- Displays all users
- Backend: Python, Flask
- Database: MySQL
- Frontend: HTML, CSS
- Authentication: Flask session
- File Uploads: PDF test reports
- Password Reset: forgot password and reset password
git clone https://github.com/Sanders003/DBMS_PROJECT.git
cd DBMS_PROJECT-main
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
- Open MySQL and run the SQL script:
Create a Connection with SQL database and setup database with help of contents of DBMS hospital Project.session.sql
- Update
db.py
with your database credentials:
host = "localhost"
user = "your_user"
password = "your_password"
database = "your_database"
python app.py
Visit http://localhost:5000 in your browser.
Change after first login.
- Admin:
admin
/admin123
For forgot password functionality via OTP, set up SMTP details inside app.py
(if using email).
- Add Docker support
- Improve UI responsiveness
- Add testing and logging
- Implement email-based OTP verification
- Add appointment notifications
Pull requests are welcome. Please open an issue first to discuss major changes.
- Hemanth Kumar
- Prajwal
- Ramcharan
- Vamsi
This project is for academic use under the MIT License.