Skip to content

Latest commit

Β 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BankingBackend API

A robust, secure, and highly scalable Core Banking Backend built with .NET 9. This project strictly adheres to Clean Architecture and SOLID principles, completely decoupling the core business logic from the infrastructure and presentation layers.

πŸ— Architecture & Tech Stack

  • Framework: ASP.NET Core Web API (.NET 9)
  • Architecture: Clean Architecture (Domain, Application, Infrastructure, API)
  • Database: SQL Server
  • Data Access: Raw ADO.NET (for maximum performance and control)
  • Transaction Management: Custom Ambient Unit of Work (SqlUnitOfWork)
  • Authentication: JWT (JSON Web Tokens) with Role-Based Access Control
  • Error Handling: Result Pattern & Global Exception Middleware

✨ Key Features

  • Secure Authentication: JWT-based login with Admin/Teller/Auditor roles.
  • Customer & Account Management: Full lifecycle management for users and banking accounts (Savings, Current, Fixed Deposit).
  • Transaction Processing: Secure deposits, withdrawals, and account-to-account transfers.
  • Ledger System: Immutable double-entry ledger tracking for all financial movements.
  • Business Rules Validation: Enforced daily debit limits, currency matching, and balance checks within the Domain layer.
  • API Rate Limiting: Built-in protection against brute-force and DDoS attacks.

πŸš€ Getting Started

Prerequisites

  • .NET 9 SDK
  • SQL Server (LocalDB or full instance)

Setup Configuration

Set the following environment variables on your system before running the API:

  • BANKING_DB_CONNECTION: Your SQL Server connection string.
  • BANKING_JWT_SIGNING_KEY: A secure 32+ character string.
  • BANKING_ADMIN_PASSWORD: The password for the seeded admin account.

The Database Initializer will automatically create the necessary schemas and seed the initial administrator account upon the first run.

About

A secure and robust Core Banking API built with .NET 9, implementing Clean Architecture and SOLID principles. Features high-performance ADO.NET transaction processing, double-entry ledger tracking, JWT authentication, and full account management lifecycle.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages