Habo Banking

May 13, 2026 ยท View on GitHub

AuthService CI/CD Service View CI/CD Synchronize Service CI/CD Frontend CI/CD Service Account CI/CD Service AI CI/CD Service Transaction CI/CD Service Notification CI/CD Service Currency Exchange CI/CD

A distributed microservices banking application built with an event-driven architecture. The system supports account management, transactions, currency exchange, AI-based fraud detection, and real-time notifications.

Architecture

The platform follows CQRS (Command Query Responsibility Segregation) and the Saga pattern for distributed transactions. Services communicate asynchronously via RabbitMQ using MassTransit.

Services

ServiceDescriptionTech
service-accountAccount commands (create, update, freeze, transactions)Python, Django, PostgreSQL
service-authGoogle OAuth authentication, JWT token generationASP.NET Core
service-transactionTransaction processing and orchestrationTypeScript, Prisma, PostgreSQL
service-currency-exchangeReal-time currency conversion via Frankfurter API.NET, MassTransit
service-aiLLM-based fraud detection via OpenRouter API.NET, MassTransit
service-notificationEmail notifications for transactions and fraud alerts.NET, MassTransit, SMTP
service-synchronizeCQRS read-model updater.NET, MassTransit, MongoDB
service-frontendWeb applicationReact, TypeScript, Vite

Infrastructure

  • Databases: PostgreSQL (accounts, transactions), MongoDB replica set (read model)
  • Messaging: RabbitMQ with fanout/direct exchanges and dead letter queues
  • Deployment: Docker Compose (local), Kubernetes with KEDA autoscaling (production)

Getting Started

See infrastructure/docker-local/README.md for local setup and infrastructure/kubernetes/README.md for Kubernetes deployment.