A scalable and event-driven Patient Management System built using Spring Boot Microservices, featuring Apache Kafka, gRPC, PostgreSQL, and full test coverage. Designed for high performance and modular healthcare service management.
This system simulates a real-world patient management workflow, with services such as:
- Patient Service – Handles patient records
- Billing Service – Manages billing profiles
- Appointment Service – Schedules/cancels appointments
- Notification Service – Sends alerts based on Kafka events
- API Gateway – Routes external traffic
Services are loosely coupled, communicate via gRPC or Kafka, and maintain their own data using PostgreSQL. Designed using DDD, event-driven patterns, and REST/gRPC hybrids.
- 🔄 Asynchronous Eventing: Kafka ensures services react independently to system events.
- ⚡ High-Speed RPC: gRPC enables fast binary communication between services.
- 🧠 Domain-Centric Design: Each service models its own domain logic and database.
- 🧪 100% Tested: Fully tested using JUnit, Mockito, and integration tests.
- 🌐 API Gateway: All external requests routed via Spring Cloud Gateway.
- 📦 Dockerized: All services can be containerized for deployment.
Muhammad Hamza Khan
GitHub: @iHamza7