A modern, containerized Core Banking API simulation built with .NET 10 and ASP.NET Core. This project demonstrates a microservices-ready architecture using Docker Compose, Nginx reverse proxy, and OpenTelemetry for observability.
- Framework: .NET 10, ASP.NET Core
- Database: PostgreSQL 16 (running on Alpine Linux)
- ORM: Entity Framework Core with Npgsql
- Infrastructure: Docker, Docker Compose
- Gateway/Proxy: Nginx
- Observability: OpenTelemetry, Aspire Dashboard
- Tools: PgWeb (Database GUI)
- CoreBanking.API: Main RESTful API service handling banking business logic.
- CoreBanking.Infrastructure: Data access layer, EF Core entities, and database context.
- CoreBanking.MigrationService: A dedicated worker service responsible for applying database migrations and seeding initial data securely at startup.
- CoreBanking.AppHost & ServiceDefaults: .NET Aspire orchestration components for service defaults, resilience, and service discovery.
- Docker: Contains
docker-composeconfigurations, environment variables, Nginx configs, and secrets.
- Docker Desktop
- .NET 10 SDK (for local development)
- .NET Aspire (v13.1.0)
To build and run from the local source code:
docker compose -f Docker/docker-compose.yaml up -d --buildAccess the services:
- API Gateway: http://localhost:8080
- Aspire Dashboard: http://localhost:18888
- PgWeb Database Manager: http://localhost:8081
