Skip to content

duytm12/Core_Banking-API

Repository files navigation

CoreBanking.NET

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.

System Design

Tech Stack

  • 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)

Project Structure

  • 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-compose configurations, environment variables, Nginx configs, and secrets.

Getting Started

Prerequisites

  • Docker Desktop
  • .NET 10 SDK (for local development)
  • .NET Aspire (v13.1.0)

Running the Project

To build and run from the local source code:

docker compose -f Docker/docker-compose.yaml up -d --build

Access the services:

About

Core Banking Api App

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors