Microservice-based banking platform prototype with SAGA, Outbox, idempotent transaction APIs, operator tooling, and customer self-service flows.
BasicBankingSystem is a full-stack banking prototype built as a technical showcase for distributed backend design and disciplined engineering delivery. It combines domain-oriented microservices, asynchronous transaction handling, SAGA-style compensation, idempotent financial APIs, React-based operator and customer experiences, automated tests, and OpenAPI-driven documentation.
This repository demonstrates how a local-first banking platform can evolve into a more realistic distributed system. The backend is split into Customer, Account, Deposit, and Audit services, with PostgreSQL persistence, RabbitMQ-based asynchronous processing, and a deposit workflow that uses Idempotency-Key, Outbox, and SAGA-style compensation. On top of that, the project includes both an operations console and a customer portal, plus automated tests, Swagger support, Docker-based local infrastructure, and technical documentation intended for portfolio and interview presentation.
dotnetaspnet-corereactmicroservicespostgresqlrabbitmqsaga-patternoutbox-patternopenapibanking-system