Saved searches
Use saved searches to filter your results more quickly
Cancel Create saved search
Sign up Reseting focus
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Implementation of Clinic Management System using Java
Notifications You must be signed in to change notification settings
MmdFt/Clinic-Management
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Go to file
Folders and files
Last commit message
Last commit date
Latest commit
History
View all files
Repository files navigation
Clinic Management System
Introduction
This project is a comprehensive Clinic Management System built with Java. The system aims to streamline the process of patient registration, consultation, and billing in a clinic setting. The application is console-based, ensuring it can be used on any system that supports Java without the need for an extensive user interface.
Purpose
The primary purpose of this project was to develop a practical understanding of Object Oriented Programming principles and Java programming. Additionally, the project provided exposure to various aspects of software development, such as system design, requirements analysis, implementation, and testing.
Features
- Registration of doctors, patients, receptionists, and cashiers.
- Doctor specialization management.
- Patient treatment workflow, from registration to bill payment.
- Robust queue management for handling patient's turns.
- Detailed logging of patients, doctors, and employees for effective tracking.
Code Design
The design of the code follows good engineering practices and Object-Oriented Programming principles. Here's a summary of the design principles and practices used:
- Encapsulation: The classes are well-encapsulated with private fields and public methods, providing a clear interface and hiding the internal implementation details.
- Inheritance: Extensive use of inheritance for a clear, hierarchical structure, making the code easier to understand and manage. For example, different types of doctors inherit from the Doctor base class.
- Serialization: Java serialization has been used for persisting the state of objects.
- Polymorphism: Leveraged polymorphism to allow objects to take on many forms depending on the context, increasing the flexibility of the code.
- Modularity: The code is divided into different modules (classes) according to functionality, ensuring high cohesion and low coupling, thus enhancing maintainability.
Environment Setup
To run this project, you will need a system with Java installed.
Here's the quick setup guide:
- Clone this repository to your local machine.
- Navigate to the directory where the project files were cloned.
- Run javac ClinicManagement.java to compile the Java files.
- Run java ClinicManagement to run the application.
Contributing
This project is currently not open for contribution. However, feedback and suggestions are always welcome. Please create an issue to provide your feedback.
About
Implementation of Clinic Management System using Java