For the last few years, I’ve been working on enterprise systems in banking, logistics, and fintech. One thing I realized is that most tutorials don’t come close to what a real production environment looks like.
So I decided to build and share a real digital banking platform, using the same technologies used by modern financial systems:
- .NET 9 Microservices
- Angular 19 in an Nx Monorepo
- Clean Architecture + DDD
- PostgreSQL + EF Core
- RabbitMQ (Event-Driven Architecture)
- Docker & Docker Compose
- GitHub Actions CI/CD
- YARP API Gateway
Below is the high-level architecture:

Why I Built This
Most developers learn microservices, Angular, and CI/CD separately.
But in real life, they all work together.
A real banking system needs:
- onboarding
- accounts
- transactions
- auditing
- security
- notifications
- customer portal
- admin/back-office portal
- This requires a full-stack architecture, not just backend or frontend tutorials.
High-Level Architecture Overview

Here’s a breakdown of the system:
Frontend (Angular + Nx)
- Nx Monorepo
- Customer Portal
- Branch/Cashier Portal
- Shared UI libraries
- Signals/NgRx for state
Backend (.NET 9 Microservices)
- AccountService
- CustomerService
- TransactionService
- NotificationService
- IAMService (Identity, JWT)
Communication
- REST via YARP API Gateway
- Events via RabbitMQ
Infrastructure
- PostgreSQL per microservice
- Dockerized environment
- GitHub Actions for CI: build → test → lint → scan
Full Source Code
I’m publishing the entire system as I build it:
GitHub: https://github.com/gustavojofelix/digital-banking-suite/tree/feature/ch03-dev-environment
Want to Follow the Full Project?
I’m documenting EVERYTHING in a new step-by-step book:
*Leanpub (Early Access): *
fullstack-banking-microservices
New chapters every week.
If you're interested, I’d love your feedback — especially from .NET, Angular, and architecture folks.
Top comments (0)