LKML
LKML Logo© 2026 Tharidu Lakmal Rupasingha.
All Projects
Banking Microservices Platform

Banking Microservices Platform

This project is a fully functional banking platform built on a microservices architecture. It demonstrates real-world enterprise patterns including:

JavaSpring BootPostgreSQLSpring Cloud OpenFeign
View Code
Started January 2026·Completed January 2026

                        ┌──────────────────────────────────────────────────┐
                        │              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   │ │
  │  └────────────────────┘   └──────────────────────────────┘ │
  └────────────────────────────────────────────────────────────┘

Overview

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