Project - 2019
Retail Bank
A single-page banking application with role-based access, real-time interest calculations, and a modern Angular frontend backed by Spring Boot.
The banking dashboard - account overview with real-time balance and interest data.
Overview
Banking features in a
single-page experience
Retail Bank is a web-based banking application that provides core financial operations through a clean, responsive single-page interface. Different user roles - customers, tellers, and administrators - see different capabilities, enforced both in the UI and at the API level.
Customers can view balances, transfer funds, and track transaction history. Administrators manage accounts, set interest rates, and monitor system activity. Interest calculations update in real-time, reflecting rate changes immediately across all affected accounts.
Frontend
Angular
Backend
Spring Boot
Database
MySQL
Auth
Role-based
Type
SPA
API
RESTful
Technical
Three-tier architecture
The Angular frontend handles routing, form validation, and state management client-side, communicating with the Spring Boot backend through RESTful endpoints. Spring Security provides authentication and role-based authorization, ensuring users can only access operations appropriate to their role.
The MySQL database stores account data, transaction logs, and user credentials. Spring Data JPA handles object-relational mapping, while transaction management ensures that financial operations are atomic - a transfer either completes fully or rolls back entirely.
Real-time interest updates are computed server-side whenever rates change, with the results pushed to connected clients. The SPA architecture means these updates appear instantly without page reloads, creating a responsive banking experience.