- Overview
- Team Members
- Features
- Design Principles
- Project Structure
- Technology Stack
- Prerequisites
- Installation and Usage
- Documentation
- UML Class Diagrams
- Code of Conduct
- License
This is a Java-based Hospital Management System (HMS) that manages patient records, doctor availability, appointment scheduling, prescriptions, and more. This project is structured using Maven as the build tool and includes Log4j2 for logging capabilities.
Guo Yichen |
Li Yikai |
Li Zhenxi |
Cai Xubin |
Liang Jianpeng |
- User Roles: Supports multiple roles including doctors, patients, and administrators.
- Patient Management: Patients can view and edit their personal information.
- Appointment Management: Schedule, confirm, and cancel appointments with doctors.
- Medical Records: Doctors can add consultation notes and prescriptions for patients.
- Doctor Availability: Doctors can set their availability for appointments.
- Logging: Integrated Log4j2 for error and event logging.
- Single Responsibility Principle (SRP)
- Focuses on having each class responsible for a single purpose or actor.
- Open Closed Principle (OCP)
- Software entities should be open for extension but closed for modification.
- Liskov Substitution Principle (LSP)
- Subtypes must be substitutable for their base types.
- Interface Segregation Principle (ISP)
- Large interfaces should be split into smaller, more specific ones.
- Dependency Injection Principle (DIP)
- High-level modules should not depend on low-level modules but on abstractions.
The project follows a modular structure to separate concerns:
scs1_group1.Main: Entry point of the application.scs1_group1.menu: Contains classes to manage user menus for each role (e.g., DoctorMenu, PatientMenu).scs1_group1.user: Classes representing different user roles likeDoctor,Patient, andAdministrator.scs1_group1.record: Handles medical records, appointment records, and prescriptions.scs1_group1.container: Manages data containers for users and records (e.g.,PatientContainer,AppointmentContainer).
- Language: Java
- Data Storage: CSV files for data storage
- Java 17
- Maven
-
Clone the repository:
git clone https://github.com/SunnyRaymond/SC2002-HMS.git cd HMS -
Compile the project using Maven:
mvn compile
-
Run the Application: Start the application by running the
Mainclass through Maven:mvn exec:java
For detailed documentation, refer to the ./docs directory.
View the Java Documentation live
Class diagrams can be found in the ./diagrams folder.
We are committed to ensuring a welcoming and inclusive environment for everyone. We expect all participants in this project to adhere to our Code of Conduct.
Licensed under the MIT License.
