# π¦ SmartBank Enterprise Platform
[](https://github.com/Raphasha27/smartbank-enterprise-platform/actions/workflows/ci.yml)






**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.
---