Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/drissiomar98/bankmanagementsystem

Bank Management System with a microservices approach.
https://github.com/drissiomar98/bankmanagementsystem

config-server discovery-server eureka gateway java keycloak oauth2 resilience4j spring-boot springcloud zipkin

Last synced: 2 days ago
JSON representation

Bank Management System with a microservices approach.

Awesome Lists containing this project

README

        

# MicroBankingServices 🏦

MicroBankingServices is a cutting-edge project designed to transform banking operations through a microservices architecture. The project encompasses the following microservices:

## 1. Customer Service 🤝
- Manages all aspects related to the bank's clients.
- Enables the creation, retrieval, and modification of customer information.

## 2. Account Service 💼
- Manages bank accounts with comprehensive details, including the account identifier, creation date, type (CURRENT_ACCOUNT or SAVING_ACCOUNT), and status (CREATED, ACTIVATED, SUSPENDED, BLOCKED).
- Supports advanced operations such as:
- 💵 Debiting an account with a specified amount
- 💳 Crediting an account with a specified amount
- ↔️ Transferring an amount from one account to another
- Maintains a detailed transaction history for each account operation. Each transaction record includes a unique number, date, amount, description, and type (DEBIT or CREDIT).

## 3. Discovery Service (Eureka Server) 🌐
- Implements a Discovery Service using Eureka Server.
- Facilitates dynamic service registration and discovery within the microservices ecosystem.

## 4. Gateway Service (Spring Cloud Gateway) 🌉
- Establishes a Gateway Service using Spring Cloud Gateway.
- Manages the routing of requests to the respective microservices based on their specific paths.

## 5. Configuration Service ⚙️
- Develops a centralized Configuration Service.
- Enables dynamic configuration management for all microservices, ensuring flexibility and scalability.
## 6. Security (OAuth2 OIDC with Keycloak) 🔒
- Integrates OAuth2 OIDC (OpenID Connect) for authentication and authorization.
- Utilizes Keycloak as the identity provider for secure access control.
- Implements token-based authentication to protect sensitive operations and resources.

MicroBankingServices leverages the power of microservices to create a distributed, scalable, and efficient banking system. With Eureka Server for service discovery, Spring Cloud Gateway for efficient routing, and a centralized Configuration Service, the project aims to provide a seamless and dynamic banking experience.