Loading repository data…
Loading repository data…
khan-o07 / repository
🏥 A scalable, containerized Healthcare Microservices System built with Java 17, Spring Boot, Kafka, gRPC, and PostgreSQL. Features include secure authentication, real-time analytics, and robust patient/billing management.
A scalable and modular Healthcare Management System built using a microservices architecture. This enterprise-grade solution enables seamless patient management, billing operations, analytics, and more, all while maintaining high security standards and performance.
| Layer | Tech |
|---|---|
| Backend | Java 17, Spring Boot |
| API Gateway | Spring Cloud Gateway |
| Inter-Service Communication | gRPC |
| Asynchronous Messaging | Apache Kafka |
| Database | PostgreSQL |
| Build Tool | Maven |
| Containerization | Docker, Docker Compose |
| Testing | JUnit, Integration Tests |
📁 analytics-service → Tracks and logs analytics data
📁 api-gateway → Handles routing and cross-cutting concerns
📁 api-requests → Shared DTOs across microservices
📁 auth-service → Handles user authentication and security
📁 billing-service → Manages billing operations and payment records
📁 grpc-requests → Protobuf contracts for gRPC communication
📁 infrastructure → Kafka, DB configurations, Docker setup
📁 integration-tests → System-wide integration tests
📁 patient-service → Manages patient records and data
📁 .vscode, .gitignore → Dev environment configurations
📄 docker-compose.yml → Spin up the entire system locally
Comprehensive architecture diagram coming soon!
The system follows a clean microservices architecture with:
# Clone the repository
git clone https://github.com/khan-sk-dev/Healthcare-Microservices-System.git
cd Healthcare-Microservices-System
# Start all services using Docker Compose
docker-compose up --build
Used for internal synchronous communication between microservices (e.g., patient-service ↔ billing-service).
Each service contains:
.proto definitions inside grpc-requestsprotobuf-maven-plugin setup in pom.xmlUsed for asynchronous messaging (e.g., notifications, logging).
Kafka Topics Example:
spring.kafka.bootstrap-servers=kafka:9092
spring.kafka.consumer.group-id=healthcare-group
spring.kafka.template.default-topic=healthcare-events
Kafka topics are produced and consumed in services like notification-service and analytics-service.
auth-service implements Spring Securityintegration-tests moduleEach microservice supports the following .env or system variables:
| Variable | Description |
|---|---|
SPRING_DATASOURCE_URL | PostgreSQL DB URL |
KAFKA_BOOTSTRAP_SERVERS | Kafka broker location |
JWT_SECRET | Secret key for token signing |
SERVER_PORT | Custom port per microservice |
# Clean and install all services
mvn clean install
# Compile Protobuf contracts
mvn protobuf:compile
# View running services
docker ps
# View service logs
docker-compose logs -f [service-name]
# Run specific service
docker-compose up -d [service-name]
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
صہیب خان – GitHub
⭐ Star this repo if you find it useful! ⭐