A comprehensive, scalable, and modular Hospital Management System (HMS) built with a microservices architecture. This system streamlines hospital operations, including patient management, doctor management, appointment scheduling and billing.
- Patient Management: Register, update, and manage patient records.
- Doctor Management: Manage doctor profiles, schedules, and specialties.
- Appointment Scheduling: Book, update, and track appointments.
- Billing & Invoicing: Automated billing and invoice generation.
- Pharmacy Management: Manage pharmacy inventory and prescriptions.
- Authentication & Authorization: Secure login and role-based access.
- Config & Discovery: Centralized configuration and service discovery.
- API Gateway: Unified entry point for all backend services.
- Modern Frontend: Intuitive web interface for staff and admins.
backend (hms)/
├── api-gateway-service/
├── appointment-scheduling-service/
├── authentication-service/
├── billing-invoicing-service/
├── config-server-service/
├── discovery-server-service/
├── doctor-management-service/
├── patient-management-service/
├── pharmacy-management-service/
frontend/
database/
- backend/: Java Spring Boot microservices
- database/: SQL scripts, Docker Compose, and configs
- frontend/: React web client
- Backend: Java (Spring Boot)
- Frontend: React, TypeScript
- Database: PostgreSQL, MongoDB
- Containerization: Docker, Docker Compose
- Service Discovery: Eureka
- API Gateway: Spring Cloud Gateway
- Configuration: Spring Cloud Config
- Docker
- Docker Compose
- Node.js & npm (for frontend development)
- Java 17+ (for backend services development)
git clone https://github.com/your-org/hospital-management-system.git
cd hospital-management-system- Backend services: Edit
application.ymlorapplication-docker.ymlin each service as needed. - Database: See
database/docker-compose.ymland SQL scripts indatabase/dev-scripts/. - Frontend: Configure API endpoints in
frontend/client/src/lib/api.tsif needed.
# From the root directory
docker-compose -f docker-compose.core.yml up --buildcd frontend/client
npm install
npm start- Backend: All microservices are containerized. Use
docker-compose.core.ymlfor orchestration. - Frontend: Runs on http://localhost:5000 by default (served via Nginx container).
- API Gateway: http://localhost:8080
- Service Discovery (Eureka): http://localhost:8761
- Config Server: http://localhost:8888
- PostgreSQL: localhost:5432
- MongoDB: localhost:27017
- See
DEPLOY_TO_AWS_EC2.mdandDOCKER_SETUP.mdfor cloud deployment and Docker best practices. - Environment variables and secrets should be managed securely (not committed to the repo).
Contributions are welcome! Please open issues and submit pull requests for new features, bug fixes, or improvements.
- Fork the repository
- Create your feature branch (
git checkout -b feature/YourFeature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/YourFeature) - Open a Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.
For questions, support, or feedback:
- Email: [email protected]
- GitHub Issues: Open an issue
© 2025 Hospital Management System. All rights reserved.