asohyannick/digital-banking-microservices
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
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