SmartBank Enterprise Platform

Project by Raphasha27 β€” Kirov Dynamics Technology
View Source on GitHub More Projects
# 🏦 SmartBank Enterprise Platform

[![CI](https://github.com/Raphasha27/smartbank-enterprise-platform/actions/workflows/ci.yml/badge.svg)](https://github.com/Raphasha27/smartbank-enterprise-platform/actions/workflows/ci.yml)

![Java](https://img.shields.io/badge/Java-17-ED8B00?style=for-the-badge&logo=openjdk&logoColor=white) ![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.x-6DB33F?style=for-the-badge&logo=spring-boot&logoColor=white) ![Apache Kafka](https://img.shields.io/badge/Apache%20Kafka-231F20?style=for-the-badge&logo=apachekafka&logoColor=white) ![Docker](https://img.shields.io/badge/Docker-2CA5E0?style=for-the-badge&logo=docker&logoColor=white) ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge&logo=postgresql&logoColor=white) ![License](https://img.shields.io/badge/License-MIT-a78bfa?style=for-the-badge) **Production-grade event-driven banking platform built with 8 Spring Boot microservices** [Architecture](#architecture) Β· [Services](#microservices) Β· [Quick Start](#quick-start) Β· [API Docs](#api-documentation)
--- ## 🎯 Overview SmartBank Enterprise Platform is a **next-generation core banking system** built on a microservices architecture. It demonstrates enterprise-grade patterns including event-driven communication via Apache Kafka, containerised deployment with Docker, and distributed data management with PostgreSQL. > Built to showcase production-ready Java/Spring Boot engineering for financial systems β€” not a tutorial, a real implementation. --- ## πŸ—οΈ Architecture ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ API Gateway / Load Balancer β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ [Auth] [KYC] [Loan] [Pay] [Core] [RegRep] [RTP] [Notify] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └──────┴──────┴──Kafka Event Busβ”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ PostgreSQL DBs β”‚ β”‚ (per-service) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` --- ## πŸ“¦ Microservices | Service | Description | Port | |---------|-------------|------| | `secure-auth-service` | JWT authentication + MFA with Spring Security & BCrypt | 8081 | | `kyc-platform` | Know Your Customer identity verification & compliance | 8082 | | `loan-management-system` | Credit scoring, amortization, approval workflows | 8083 | | `payment-gateway` | Authorization, capture, settlement processing | 8084 | | `core-banking-system` | Accounts, deposits, withdrawals, fund transfers | 8085 | | `regulatory-reporting-platform` | SAR/STR generation & audit trails | 8086 | | `real-time-payments-platform` | Instant transfers via event-driven architecture | 8087 | | `notification-service` | Email/SMS/push alerts via event consumption | 8088 | --- ## πŸš€ Quick Start ### Prerequisites - Java 17+ - Docker & Docker Compose - Apache Kafka (included in compose) ### Run All Services ```bash git clone https://github.com/Raphasha27/smartbank-enterprise-platform.git cd smartbank-enterprise-platform docker-compose up --build ``` ### Run Individual Service ```bash cd secure-auth-service ./mvnw spring-boot:run ``` --- ## πŸ”‘ Key Features - βœ… **Event-driven** β€” all inter-service communication via Kafka topics - βœ… **JWT + MFA** β€” multi-factor authentication with refresh token rotation - βœ… **KYC Verification** β€” identity & compliance checks before account activation - βœ… **Real-time payments** β€” sub-second transfer processing with idempotency - βœ… **Regulatory reporting** β€” automated SAR/STR generation with full audit trails - βœ… **Containerised** β€” full Docker Compose orchestration, production-ready - βœ… **Per-service databases** β€” complete data isolation, no shared schemas --- ## πŸ“‹ API Documentation Each service exposes Swagger UI at `http://localhost:{port}/swagger-ui.html` | Service | Swagger URL | |---------|-------------| | Auth | http://localhost:8081/swagger-ui.html | | KYC | http://localhost:8082/swagger-ui.html | | Loans | http://localhost:8083/swagger-ui.html | | Payments | http://localhost:8084/swagger-ui.html | --- ## πŸ—ΊοΈ Roadmap - [ ] Kubernetes Helm charts for cloud deployment - [ ] OpenTelemetry distributed tracing - [ ] gRPC inter-service communication - [ ] CQRS + Event Sourcing pattern implementation - [ ] React dashboard for transaction monitoring --- ## 🀝 Contributing Contributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) and open an issue before submitting a PR. --- ## πŸ“„ License MIT License β€” see [LICENSE](LICENSE) for details. ---
Built by Koketso Raphasha Β· Portfolio