Eagled Banking System
Back to Projects
๐Ÿฆ

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.

Role:Full-Stack Developer (Solo)
Timeline:Semester 1, 2024
Status:Completed โ€” University Project
StackASP.NET CoreC#MVCEntity FrameworkSQL ServerASP.NET IdentityBootstrap 5Razor Pages

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.