The E-channeling System is a web-based application developed using Java Servlets and JSP, aimed at facilitating the appointment booking process between doctors and patients. This system allows doctors to manage their channelling schedules and patients to book appointments, view their schedules, and manage their profiles. The system ensures data persistence by storing all information in a MySQL database.
For detailed project requirements, please refer to the E-channeling System Requirements.pdf
Screenshots of the key pages in the E-Channeling System:
- Doctor Registration and Profile Management:
- Doctors can register with a unique UserID, name, password, phone, and specialization.
- After logging in, doctors can update their phone number and specialization.
- Doctor Schedule Management:
- Doctors can add, view, update, and delete their channelling schedules.
- Each schedule includes the doctor’s ID, channelling date, time, and the maximum number of patients allowed.
- The system ensures that a doctor can only have one channelling schedule per date.
- Patient Registration and Profile Management:
- Patients can register with NIC, name, phone, and password.
- After logging in, patients can view and update their personal information.
- Patients cannot change their NIC.
- Appointment Booking:
- Patients can view available channelling schedules and make appointments.
- Patients can only book one appointment per channelling schedule to avoid conflicts.
- Patients can view their confirmed appointments and cancel if necessary.
- Navigation and User Interface:
- A consistent navigation bar is provided for ease of use, allowing access to various sections like appointment lists, personal appointments, user profiles, and logout.
The database for the E-channeling System is designed to manage information for doctors, patients, channelling schedules, and appointments. It includes the following tables:
- Doctors Table: Stores information about doctors, including their userID, name, password, phone, and specialization.
- Patients Table: Contains patient details such as NIC, name, password, phone, and email.
- Channeling Schedule Table: Manages the scheduling of doctor appointments, including details like doctor ID, channelling date, time, maximum patients allowed, and the current number of patients.
- Appointments Table: Records the appointments made by patients, including channelling schedule ID, patient NIC, appointment date, appointment time, and status.
Column | Data Type | Constraints |
---|---|---|
userID | VARCHAR(10) | PRIMARY KEY |
name | VARCHAR(100) | NOT NULL |
password | VARCHAR(100) | NOT NULL |
phone | VARCHAR(15) | NOT NULL |
specialization | VARCHAR(100) | NOT NULL |
Column | Data Type | Constraints |
---|---|---|
NIC | VARCHAR(12) | PRIMARY KEY |
name | VARCHAR(100) | NOT NULL |
password | VARCHAR(100) | NOT NULL |
phone | VARCHAR(15) | NOT NULL |
VARCHAR(100) | NOT NULL |
Column | Data Type | Constraints |
---|---|---|
id | INT | PRIMARY KEY |
doctor_id | VARCHAR(10) | FOREIGN KEY |
channeling_date | DATE | NOT NULL |
time | TIME | NOT NULL |
max_patients | INT | NOT NULL |
current_patients | INT | NOT NULL |
Column | Data Type | Constraints |
---|---|---|
channeling_schedule_id | INT | FOREIGN KEY, COMPOSITE KEY |
patient_NIC | VARCHAR(12) | FOREIGN KEY, COMPOSITE KEY |
appointment_date | DATE | NOT NULL |
appointment_time | TIME | NOT NULL |
status | VARCHAR(20) | NOT NULL |
- Download and Install NetBeans:
- Download the latest version of NetBeans from the official website.
- Follow the installation instructions provided.
- Download and Install Apache Tomcat:
- Download Apache Tomcat from the official website.
- Extract the downloaded ZIP file to a preferred location on your system.
- Configure Apache Tomcat in NetBeans:
- Open NetBeans.
- Go to Tools > Servers.
- Click the "Add Server" in the Servers window.
- Choose Apache Tomcat and specify the location of your Tomcat installation.
- Complete the configuration by following the on-screen instructions.
To set up the database for the E-channeling System, follow these steps:
- Download and Install XAMPP:
- Download XAMPP from the official website.
- Follow the installation instructions provided.
- Start MySQL:
- Open XAMPP Control Panel.
- Start the MySQL service.
- Create and Populate the Database:
- Open phpMyAdmin from the XAMPP Control Panel.
- Create a new database named "e_channeling_system".
Run the following SQL command to create the database:
CREATE DATABASE e_channeling_system;
- Run the following SQL queries to create and populate the tables:
Switch to the newly created database:
USE e_channeling_system;
Run the following SQL commands to create the necessary tables:
Create the Doctors Table
CREATE TABLE doctors (
userID VARCHAR(10) PRIMARY KEY,
name VARCHAR(100) NOT NULL,
password VARCHAR(100) NOT NULL,
phone VARCHAR(15) NOT NULL,
specialization VARCHAR(100) NOT NULL
);
Create the Patients Table
CREATE TABLE patients (
NIC VARCHAR(12) PRIMARY KEY,
name VARCHAR(100) NOT NULL,
password VARCHAR(100) NOT NULL,
phone VARCHAR(15) NOT NULL,
email VARCHAR(100) NOT NULL
);
Create the Channeling Schedule Table
CREATE TABLE channeling_schedule (
id INT AUTO_INCREMENT PRIMARY KEY,
doctor_id VARCHAR(10),
channeling_date DATE NOT NULL,
time TIME NOT NULL,
max_patients INT NOT NULL,
current_patients INT NOT NULL,
FOREIGN KEY (doctor_id) REFERENCES doctors(userID)
);
Create the Appointments Table
CREATE TABLE appointments (
channeling_schedule_id INT,
patient_NIC VARCHAR(12),
appointment_date DATE NOT NULL,
appointment_time TIME NOT NULL,
status VARCHAR(20) NOT NULL,
PRIMARY KEY (channeling_schedule_id, patient_NIC),
FOREIGN KEY (channeling_schedule_id) REFERENCES channeling_schedule(id),
FOREIGN KEY (patient_NIC) REFERENCES patients(NIC)
);
- Java Servlets
- Java Server Pages (JSP)
- MySQL Database
- HTML/CSS for front-end design
- Apache Tomcat for server deployment
- XAMPP
- Apache NetBeans
Contributions to enhance the functionality and features of the e-channeling system are welcome. Please follow the standard GitHub workflow for submitting pull requests.
Note
Ensure the MySQL JDBC driver (mysql-connector-java-...jar) is added to your project's "WEB-INF/lib" directory.