A Patient Management System built with Spring Boot Microservices Architecture. Currently implements the core Patient Service with plans to expand into a full microservices ecosystem.
Implemented: Patient Service with CRUD operations
Planned: Billing Service (gRPC), Analytics Service (Kafka), Auth Service (JWT), API Gateway
- Patient Service – Core patient data management with REST API
- Billing Service – gRPC-based billing operations
- Analytics Service – Event-driven analytics with Kafka
- Auth Service – JWT authentication & authorization
- API Gateway – Central routing and security
- Java 17+
- Spring Boot 3.x
- Spring Data JPA for data persistence
- H2/PostgreSQL for database
- Maven for build management
- Spring Security + JWT for authentication
- gRPC for inter-service communication
- Apache Kafka for event streaming
- Docker for containerization
- AWS CloudFormation for cloud deployment
- Java 17+ and Maven 3.8+
-
Clone the repository
git clone <repository-url> cd patient-management-system
-
Run the application
cd patient-service mvn spring-boot:run -
Access the service
- Patient Service: http://localhost:8081
- H2 Console (if using H2): http://localhost:8081/h2-console
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/patients |
Get all patients |
| GET | /api/patients/{id} |
Get patient by ID |
| POST | /api/patients |
Create new patient |
| PUT | /api/patients/{id} |
Update patient |
| DELETE | /api/patients/{id} |
Delete patient |
# Get all patients
curl -X GET http://localhost:8081/api/patients
# Create a new patient
curl -X POST http://localhost:8081/api/patients \
-H "Content-Type: application/json" \
-d '{
"name": "John Doe",
"email": "john.doe@example.com",
"phone": "+1234567890",
"dateOfBirth": "1990-01-01"
}'# Run tests
mvn clean test
# Run with coverage
mvn clean test jacoco:report- Patient entity and repository
- REST API endpoints (CRUD)
- Basic validation and error handling
- Unit and integration tests
- Auth Service with JWT
- Spring Security integration
- Role-based access control
- Billing Service with gRPC
- Analytics Service with Kafka
- API Gateway setup
- Docker containerization
- AWS CloudFormation templates
- CI/CD pipeline
This project demonstrates:
- Spring Boot application development
- RESTful API design and implementation
- JPA/Hibernate for data persistence
- Test-Driven Development practices
- Microservices architecture planning