Skip to content

asohyannick/digital-banking-microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏦 Digital Banking Microservices Platform
Built with Spring Boot, MySQL, PostgreSQL, Spring Cloud, Docker, JWT, and Spring Security

Welcome to the Digital Banking Microservices Platform β€” a scalable, secure, and enterprise-ready distributed application designed to support modern digital banking operations.
This backend system is engineered using Spring Boot microservices, ensuring modularity, fault isolation, and high availability for core banking activities such as customer onboarding, account management, transactions, loan processing, payments, and reporting.

πŸ‘¨β€πŸ’» Developer Profile

πŸ‘‹ Author: Asoh Yannick
πŸ’Ό Role: Java Backend Developer
🧠 Expertise:

Core Java β€’ Spring Boot β€’ Spring Cloud

Microservices β€’ Distributed Systems Architecture

Spring Security β€’ OAuth2 β€’ JWT Authentication

MySQL β€’ PostgreSQL β€’ Docker β€’ Kubernetes Concepts

Event-Driven Architectures β€’ REST API Design β€’ CQRS β€’ DDD

β€œI build secure, scalable financial systems using modern Java technologies and proven architectural patterns.”

πŸ—οΈ Project Overview

The Digital Banking Microservices Platform is a decomposition of a full core banking backend into independent, domain-driven microservices.
It is designed to support retail and enterprise banking needs with secure payments, transactions, KYC, risk assessment, and real-time account activities.

This architecture allows each service to scale independently while ensuring security, stability, and resilience.

πŸ”§ Microservices Architecture

Below are the main services and their responsibilities:

🧩 Core Banking Services
Service	Description	Database
Auth Service	JWT authentication, RBAC, user login	PostgreSQL
Customer Service	Client onboarding, KYC, profiles	PostgreSQL
Account Service	Accounts, balances, overdraft rules	MySQL
Transaction Service	Debit/credit transactions, ledger	MySQL
Payment Service	Internal transfers, external payments, cards	PostgreSQL
Loan Service	Loan applications, scoring, schedules	PostgreSQL
Notification Service	Email/SMS alerts, push notifications	MySQL
Compliance / Audit Service	Auditing, risk scoring, AML rules	PostgreSQL
Reporting Service	Financial dashboards & analytics	PostgreSQL
Gateway / API Gateway	Routing, filtering, rate-limiting	β€”
Config Server	Central configuration for all services	β€”
Discovery Server (Eureka)	Service registration & discovery	β€”
🌟 Core Banking Features
Status	Feature
🟩 Customer Onboarding & KYC Validation
🟩 JWT Authentication & Role-Based Access (RBAC)
🟩 Account Creation & Multi-Currency Support
🟩 Internal & External Fund Transfers
🟩 Real-Time Ledger & Balance Validation
🟩 Loan Application, Approval & Repayment Schedules
🟩 Payment Processing (Bank-to-Bank, Wallet, Cards)
🟩 Fraud Detection & AML Rule Engine (Optional)
🟩 Complete Audit Trail for All Transactions
🟩 Analytics & Reports for Ops & Management

🟩 All features are implemented following banking-grade security, ACID principles, and event-driven transaction handling.

βš™οΈ Technology Stack
Layer	Technology
Backend Framework	Spring Boot
Microservice Infrastructure	Spring Cloud (Eureka, Config, Gateway)
Databases	MySQL + PostgreSQL (domain-specific storage)
Security	Spring Security β€’ OAuth2 β€’ JWT
Event Messaging	Kafka / RabbitMQ (optional)
Build Tool	Maven
Containerization	Docker / Docker Compose
Documentation	Swagger / OpenAPI
Testing	JUnit β€’ Mockito
πŸ“˜ API Gateway Routes Summary
Category	Description	Gateway Route
Auth	Login, tokens	/api/auth/login
Customers	Onboarding & profile management	/api/customers
Accounts	Savings, current, checking accounts	/api/accounts
Transactions	Debit, credit, ledger operations	/api/transactions
Payments	Bank transfers, card charges	/api/payments
Loans	Loan apps, approvals, repayments	/api/loans
Notifications	Alerts & messages	/api/notifications
Reports	Finance & audit reports	/api/reports
🐳 Running the System with Docker
# Clone the repository
git clone https://github.com/asohyannick/digital-banking-microservices
cd digital-banking-microservices

# Build & start the microservices
docker-compose up --build


Each service contains its own Dockerfile and connects to the appropriate MySQL/PostgreSQL instance.

🧩 Contribution Guide

Contributions are welcome to expand the digital banking ecosystem!

Fork the repository

Create a feature branch

Implement clean, modular, well-tested code

Submit a Pull Request

πŸ’‘ Let’s build the future of digital banking together.

πŸ“« Contact

Email: asohyannick.dev@gmail.com

GitHub: https://github.com/asohyannick

LinkedIn: https://linkedin.com/in/asohyannick

🟩 Project Status

βœ” Core banking microservices implemented
βœ” Secure JWT-based authentication
βœ” MySQL & PostgreSQL distributed storage complete
πŸš€ Next Features:

Event-driven architecture with Kafka

Fraud detection engine

Account statements PDF generator

Mobile banking API extensions

Β© 2025 Asoh Yannick β€” Java Backend Developer

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages