An open API service indexing awesome lists of open source software.

https://github.com/phoenixmaster123/patient-management-system

Patient Management System built using Microservices Architecture with Spring Boot and AWS
https://github.com/phoenixmaster123/patient-management-system

aws docker jwt-token microservices rest-api spring-boot

Last synced: 3 months ago
JSON representation

Patient Management System built using Microservices Architecture with Spring Boot and AWS

Awesome Lists containing this project

README

          

# ๐Ÿฅ Patient Management System (Microservices)

## ๐Ÿ“Œ Overview
This project is a **Patient Management System** designed with a **Microservices Architecture**, leveraging **Spring Boot** and **AWS (LocalStack)** for scalable and efficient healthcare data management. It enables secure patient record handling, appointment scheduling, and billing operations.

The system supports both **RESTful APIs** for external communication and **gRPC** for efficient inter-service communication, ensuring high performance and scalability in distributed environments.

## โš™๏ธ Technologies Used
- **Spring Boot** (for backend microservices)
- **AWS** Integration with LocalStack
- **gRPC** (for inter-service communication)
- **Kafka** (for event-driven communication)
- **PostgreSQL** (for database persistence)
- **API Gateway** (for centralized API management)
- **Docker** (for containerization and orchestration)

## ๐Ÿ—๏ธ Microservices Structure
- **Patient Service** ๐Ÿฅ (`patient-service`)
Manages patient records, appointments, and medical history.

- **Billing Service** ๐Ÿ’ฐ (`billing-service`)
Handles invoices, payments, and financial transactions.

- **Authentication Service** ๐Ÿ” (`auth-service`)
Manages user authentication, authorization, and Bearer token-based security.

- **API Gateway** ๐ŸŒ (`api-gateway`)
Central entry point for routing requests to the appropriate services.

- **Analytics Service** ๐Ÿ“Š (`analytics-service`)
Processes and provides insights based on patient and billing data.

- **Integration Tests** ๐Ÿงช (`integration-tests`)
Contains test cases to validate interactions between microservices.

- **Infrastructure** โš™๏ธ (`infrastructure`)
Contains scripts and configurations for AWS CloudFormation and deployment automation.

- **gRPC Requests** ๐Ÿ”„ (`grpc-requests/billing-service`)
Defines protocol buffer files and gRPC communication for the billing service.

- **API Requests** ๐Ÿ“ก (`api-requests`)
Stores predefined API request examples for testing and debugging.

## ๐Ÿ—๏ธ Prerequisites

Before running the project, ensure you have installed:

- **JDK 21**
- **Apache Maven 3.9.9**
- **Docker & Docker Compose**
- **LocalStack (for AWS emulation)**

## ๐Ÿš€ Getting Started

1. ### Clone the Repository
```bash
git clone https://github.com/your-username/patient-management.git
cd patient-management
```
2. ### Run services with Docker:
```bash
docker-compose up -d
```
3. ### Running LocalStack
Ensure LocalStack is installed and started:

# The whole structure
![Architecture](Architecture%20project.png)

## License โš–๏ธ

This project is licensed under the MIT License. For more details, please refer to the file: [LICENSE](LICENSE).