Work Words Frames Shelf Hello

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.

AngularSpring BootMySQL
Retail Bank dashboard

The banking dashboard - account overview with real-time balance and interest data.

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

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.