
Eagled Banking System
A full-stack banking management system built with ASP.NET Core MVC โ account management, fund transfers, transaction history, RBAC, and a secure admin dashboard.
Overview
Eagled is a banking management system built from scratch using ASP.NET Core MVC โ the enterprise framework used extensively across the .NET ecosystem. It simulates a real banking environment with customer-facing features and an admin backend.
The project demonstrates enterprise-grade .NET development: clean MVC architecture, EF Core ORM, ASP.NET Identity auth, RBAC, and production security practices including anti-CSRF tokens and parameterised queries.
Features
- User registration and secure login with hashed passwords and session management
- Account management: savings and cheque accounts per user with unique account numbers
- Fund transfers with validation and atomic database transactions
- Full transaction history with filtering by date, type, and amount
- Admin dashboard for managing users, accounts, and system-wide reporting
- Role-based access control (RBAC) separating customer, staff, and admin
- Responsive Bootstrap 5 UI with professional banking design language
- Anti-CSRF protection and server-side validation on all forms
Architecture
ASP.NET Core MVC
Models define data/validation, Controllers handle logic, Views render server-side Razor pages.
Entity Framework Core
Code-first schema with migrations, relationships, and LINQ queries on SQL Server.
Identity & Auth
ASP.NET Identity for password hashing, role-based claims, and cookie middleware.
Repository Pattern
Abstracted data access for cleaner controller logic and easier unit testing.
Database Schema
Users โ AspNetUsers (via ASP.NET Identity) Accounts โ Id, UserId, Type, Balance, AccountNumber, CreatedAt Transactions โ Id, FromAccountId, ToAccountId, Amount, Type, Timestamp AdminLogs โ Id, AdminId, Action, TargetUserId, Timestamp
All transfers are wrapped in database transactions โ if a debit succeeds but the credit fails, the entire operation rolls back.
Security Measures
- Passwords hashed with ASP.NET Identity (PBKDF2)
- Anti-CSRF tokens on all state-mutating forms via ValidateAntiForgeryToken
- Input validation with Data Annotations on all Model classes
- SQL injection prevented via parameterised EF Core queries
- Role checks at Controller and Action level via [Authorize(Roles=...)]
Why This Matters
Eagled demonstrates I can build enterprise-grade .NET applications end-to-end: auth, RBAC, transactional database operations, and security-conscious design. The type of system that underpins real financial and enterprise software โ built solo.