๐ฅ Hospital Management System
A microservices-based Hospital Management System built using Spring Boot, designed to efficiently manage doctors, patients, and appointments.
๐ Microservices Overview
1๏ธโฃ Doctor Service ๐ฉบ
. Manages doctor details (name, specialization, availability)
. Provides APIs for CRUD operations on doctors
2๏ธโฃ Patient Service ๐ค
. Handles patient registration and record management
. Provides APIs for adding, updating, and fetching patient data
3๏ธโฃ Appointment Service ๐
. Manages appointments between patients and doctors
. Uses WebClient to fetch doctor & patient details from respective services
๐ Tech Stack
Spring Boot (Java 17+) โ Microservice backend
MongoDb โ Database
Spring WebClient โ Service-to-service communication
Swagger (OpenAPI) โ API documentation & testing
Maven/Gradle โ Build tool
REST APIs โ Communication layer
โก Features
. CRUD operations for Doctor, Patient, and Appointment
. REST APIs with Swagger UI documentation
. Inter-service communication using Spring WebClient
. Microservices can run independently or together
. Scalable design for future extensions
๐ Project Structure
hospital-management-system/
โโโ doctor-service/ # Doctor microservice (Spring Boot)
โโโ patient-service/ # Patient microservice (Spring Boot)
โโโ appointment-service/ # Appointment microservice (Spring Boot + WebClient)
โโโ README.md
โ๏ธ Setup & Run
๐น 1. Clone Repository
git clone https://github.com/<your-username>/Hospital-Management-System.git
cd Hospital-Management-System๐น 2. Run Services Individually
cd doctorService
mvn spring-boot:runcd patientService
mvn spring-boot:runcd appointmentService
mvn spring-boot:run๐ API Documentation
Once the services are running, you can explore APIs via Swagger UI:
Doctor Service โ http://localhost:8081/swagger-ui.html
Patient Service โ http://localhost:8082/swagger-ui.html
Appointment Service โ http://localhost:8083/swagger-ui.html
๐ฎ Future Enhancements
. Authentication & Authorization (JWT)
. Role-based access (Admin, Doctor, Patient)
. Notification service (Email/SMS reminders)
. Deployment on Cloud (AWS/GCP/Azure)
๐ค Contributing
. Fork this repo
. Create a feature branch (feature-new-module)
. Commit changes (git commit -m "Added new feature")
. Push to branch (git push origin feature-new-module)
. Open a Pull Request
๐ Acknowledgements
Special thanks to all contributors and open-source projects that made this system possible.
๐ฌ Contact
For any queries, suggestions, or contributions:
๐จโ๐ป Author: Karan Taragi
๐ง Email: ksingh064002@gmail.com
๐ GitHub: karantaragi07