Skip to content
Back to all projects

Microservices

Aethera Bank v2 (Banking-App)

An enterprise-grade banking simulation using microservices, CQRS and the Saga pattern, with React micro-frontends, Kafka event streaming and full observability (ELK, Prometheus, Grafana, Jaeger).

Problem

Models distributed-transaction management, cross-service consistency and observability the way a real bank's backend would need to handle them, at enterprise scale.

Highlights

  • Custom Saga orchestrator over Kafka for distributed transactions
  • CQRS read-side backed by Elasticsearch
  • API Gateway with JWT auth, Redis rate limiting, Resilience4j circuit breaker
  • Full observability: ELK, Prometheus/Grafana, Jaeger tracing
  • Micro-frontends via Webpack Module Federation

Architecture and notes

Services stay consistent through a custom Saga orchestrator over Kafka instead of distributed transactions, and the read side is a CQRS projection in Elasticsearch. Traffic enters through an API gateway (JWT authentication, Redis rate limiting, Resilience4j circuit breaker), the React front end is split into micro-frontends with Webpack Module Federation, and logs, metrics and traces are collected with ELK, Prometheus/Grafana and Jaeger.

Technologies

  • Java 21
  • Spring Boot 3.5
  • React 18
  • TypeScript
  • PostgreSQL
  • MongoDB
  • Redis
  • Kafka
  • Elasticsearch
  • Webpack Module Federation
  • Docker Compose
  • Jenkins