Markdown download content_copy expand_less
A robust web-based application built using the MVC (Model-View-Controller) architecture. This system facilitates seamless interaction between Patients, Doctors, and Administrators for managing medical appointments.
- Secure Login: Dedicated admin portal.
- Doctor Management: Add, update, delete, and view doctor profiles.
- Patient Management: View registered patients.
- System Monitoring: Overview of system activities.
- Dashboard: View upcoming appointments.
- Appointment Management: Approve or reject appointment requests.
- Profile: Manage availability and personal details.
- Schedule: View daily appointment lists.
- Registration: Easy sign-up process.
- Booking: Search doctors by specialization and book appointments.
- History: View past and future appointment status.
- Profile: Update personal information.
| Component | Technology |
|---|---|
| Frontend | JSP (JavaServer Pages), HTML5, CSS3, Bootstrap 5, FontAwesome |
| Backend | Java Servlets (Controller), Java Beans (Model) |
| Database | MySQL |
| Server | Apache Tomcat 9.0+ |
| IDE | Apache NetBeans |
| Architecture | MVC (Model-View-Controller) |
The project follows a strict MVC separation:
MedicalBooking/ ├── src/java/ │ ├── controller/ # Servlets (e.g., LoginServlet, AppointmentServlet) │ ├── dao/ # Database Access Objects (SQL Logic) │ └── model/ # Java Beans (POJOs: Patient, Doctor, Appointment) └── web/ # JSP Views (Frontend) ├── assets/ # CSS, Images, JS ├── META-INF/ └── WEB-INF/
The system requires the following MySQL tables. Run the provided database.sql file (if available) or create these tables:
users (id, name, email, password, role)
doctors (id, user_id, specialization, phone, availability)
patients (id, user_id, address, dob, gender)
appointments (id, patient_id, doctor_id, date, time, status)
Java JDK 8 or higher
Apache NetBeans IDE
MySQL Server (XAMPP/WAMP recommended)
Apache Tomcat Server
git clone https://github.com/feysel2003/MedicalBookingSystem.git
Open phpMyAdmin or MySQL Workbench.
Create a database named medical_booking_db.
Import the sql/schema.sql file provided in this repo.
Note: Update src/java/dao/DBConnection.java with your DB username/password.
File > Open Project > Select MedicalBooking.
Right-click the project > Run.
The browser will open http://localhost:8080/MedicalBooking.
Role Email Password
Admin admin@hospital.com admin123
Doctor doctor@hospital.com doc123
Patient (Register a new account) (Your password)
Fork the project.
Create your feature branch (git checkout -b feature/AmazingFeature).
Commit your changes (git commit -m 'Add some AmazingFeature').
Push to the branch (git push origin feature/AmazingFeature).
Open a Pull Request.
This project is for educational purposes.
download content_copy expand_less