
This project is a fully functional banking platform built on a microservices architecture. It demonstrates real-world enterprise patterns including:
┌──────────────────────────────────────────────────┐
│ CLIENT (REST API Consumer) │
└────────────────────────┬─────────────────────────┘
│ HTTP Request
▼
┌──────────────────────────────────────────────────┐
│ API GATEWAY (Port: 8080) │
│ • JWT Validation Filter │
│ • Route Configuration (lb://) │
│ • Spring Cloud Gateway + WebFlux │
└─────┬────────┬────────┬────────┬────────���────────┘
│ │ │ │ │
┌───────────────┘ │ │ │ └──────────────────┐
▼ ▼ ▼ ▼ ▼
┌───────────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ auth-service │ │account-service│ │transaction- │ │ loan- │ │ audit- │
│ Port: 8081 │ │ Port: 8082 │ │ service │ │ service │ │ service │
│ JWT Generation │ │ Account CRUD│ │ Port: 8083 │ │ Port: 8085 │ │ Port: 8086 │
│ User Auth/Reg │ │ Deposit/ │ │ Deposit/ │ │ Loan CRUD │ │ Kafka │
│ BCrypt Passwords │ │ Withdraw │ │ Withdraw/ │ │ OpenFeign │ │ Consumer │
└────────┬──────────┘ └──────┬───────┘ │ Transfer │ │ Circuit │ │ Audit Logs │
│ │ └──────┬───────┘ │ Breaker │ └──────────────┘
│ │ │ └──────────────┘
│ │ │ Kafka Events ▲
│ │ OpenFeign │ (transaction-events topic) │
│ └─────────────────┘ │
│ │ │
│ ┌────────────────────────────┴─────────────────────────────┐ │
│ │ KAFKA (Port: 9092) + ZOOKEEPER (2181) │──────┘
│ └──────────────────────────────────────────────────────────┘
│ │
│ ▼
│ ┌──────────────────────────┐
│ │ notification-service │
│ │ Port: 8084 │
│ │ Kafka Consumer │
│ │ Transaction Alerts │
│ └──────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────┐
│ SUPPORTING INFRASTRUCTURE │
│ ┌────────────────────┐ ┌──────────────────────────────┐ │
│ │ eureka-server │ │ config-server │ │
│ │ Port: 8761 │ │ Port: 8888 │ │
│ │ Service Registry │ │ Centralized Configuration │ │
│ └────────────────────┘ └──────────────────────────────┘ │
└────────────────────────────────────────────────────────────┘This project is a fully functional banking platform built on a microservices architecture. It demonstrates real-world enterprise patterns including:
Centralized Authentication via JWT tokens
Service Discovery using Netflix Eureka
API Gateway with JWT validation and route management
Event-Driven Communication via Apache Kafka
Fault Tolerance with Resilience4j Circuit Breaker
Distributed Tracing with Zipkin & Micrometer Brave
Metrics & Monitoring with Prometheus Actuator endpoints
Inter-service Communication via OpenFeign