Skip to content

About

A full-stack digital banking web application built with Java, Spring MVC, Hibernate, JSP, and MySQL, featuring OTP authentication, fund transfers, transactions, PDF statements, loans, and admin management.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

ย 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฆ SmartBank Management System

A Digital Banking Web Application built with Java & Spring

SmartBank is a full-stack banking web application that simulates real-world digital banking workflows. It provides customers with secure account access, fund transfers, transaction tracking, PDF statements, email services, and loan management, along with dedicated administrative features.


๐Ÿš€ What SmartBank Offers

๐Ÿ‘ค Customer Banking

  • Email OTP-based registration
  • Secure login
  • Personalized banking dashboard
  • Account and balance management
  • Fund transfer using Account Number or UPI ID
  • Mini statement with recent transactions
  • Downloadable PDF bank statements
  • Email bank statements
  • Loan application and status tracking

๐Ÿ’ธ Fund Transfer

SmartBank supports practical fund-transfer workflows with:

  • Account Number based transfer
  • UPI ID based transfer
  • Balance validation
  • Sender and receiver transaction records
  • Automatic balance updates
  • Credit and debit transaction tracking

๐Ÿงพ Digital Bank Statements

Customers can generate professional PDF statements containing:

  • Account summary
  • Transaction details
  • Credit / Debit information
  • Balance after each transaction
  • Indian currency formatting
  • Transaction dates
  • Sender / receiver information

Statements can also be sent directly through email.

๐Ÿฆ Loan Management

Customers can:

  • Apply for loans
  • View submitted applications
  • Track loan status

Administrators can:

  • Review applications
  • Approve loans
  • Reject loans
  • Monitor loan-related information

๐Ÿ‘จโ€๐Ÿ’ผ Admin Management

The admin module provides:

  • Customer management
  • Loan management
  • Loan approval / rejection
  • Transaction and banking reports
  • Monthly reports
  • Annual reports
  • Overall banking information

๐Ÿ› ๏ธ Tech Stack

Layer Technologies
Language Java
Web Layer Spring MVC, JSP
Backend Spring ORM, Spring Data JPA
ORM Hibernate
Database MySQL
Frontend HTML5, CSS3
Build Tool Maven
Server Apache Tomcat 10
IDE Eclipse

๐Ÿ—๏ธ Architecture

SmartBank follows a layered application architecture:

                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚     JSP / HTML / CSS โ”‚
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ†“
                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚   Spring MVC Layer   โ”‚
                 โ”‚    Controllers       โ”‚
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ†“
                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚    Service Layer     โ”‚
                 โ”‚   Business Logic     โ”‚
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ†“
                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚   DAO / Repository   โ”‚
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ†“
                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚    JPA / Hibernate   โ”‚
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ†“
                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚    MySQL / MariaDB   โ”‚
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

This structure separates presentation, business logic, and database operations, making the application easier to maintain and understand.


๐Ÿ’ณ Core Banking Workflow

Customer Registration
        โ†“
Email OTP Verification
        โ†“
Secure Login
        โ†“
Banking Dashboard
        โ†“
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ†“              โ†“              โ†“
Transfer     Transactions     Loans
 โ†“              โ†“              โ†“
Balance      PDF Statement   Loan Status
Update       + Email         Tracking

๐Ÿ” Configuration & Security

Sensitive credentials are not stored in the public repository.

The GitHub version contains placeholder values for:

db.username=root
db.password=YOUR_DB_PASSWORD

mail.username=YOUR_EMAIL
mail.password=YOUR_APP_PASSWORD

For local execution, configure your own database and email credentials in the local application.properties file.

Never commit real database passwords, email passwords, or application passwords to GitHub.


โ–ถ๏ธ Running the Project

Prerequisites

Make sure you have:

  • Java JDK
  • Eclipse IDE
  • Maven
  • MySQL / MariaDB
  • Apache Tomcat 10
  • Git

Clone the Repository

git clone https://github.com/harikahub/SmartBankManagementSystem.git

Setup

  1. Import the project into Eclipse as a Maven Project.
  2. Create and configure the MySQL / MariaDB database.
  3. Add your local database credentials.
  4. Add your local email configuration for OTP and email statements.
  5. Configure Apache Tomcat 10 in Eclipse.
  6. Deploy and run the application.

๐Ÿ“Œ Project Highlights

  • ๐Ÿ” Email OTP verification
  • ๐Ÿฆ Customer & Admin modules
  • ๐Ÿ’ธ Account / UPI fund transfers
  • ๐Ÿ’ฐ Real-time balance updates
  • ๐Ÿ“Š Transaction management
  • ๐Ÿงพ Professional PDF statements
  • ๐Ÿ“ง Email statement delivery
  • ๐Ÿท๏ธ Loan application workflow
  • ๐Ÿ“ˆ Monthly & annual banking reports
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Indian currency formatting
  • ๐Ÿ–ฅ๏ธ Responsive banking dashboard

๐Ÿ“ธ Screenshots

๐Ÿ  Home & Authentication

SmartBank Home - Top

SmartBank Home - Bottom

New Account Registration

Registration OTP Verification

Customer Login

Login OTP Verification

๐Ÿ‘ค Customer Banking

Customer Dashboard

Fund Transfer

Mini Statement

Loan Application

Loan Status

๐Ÿ‘จโ€๐Ÿ’ผ Administration

Admin Login

Admin Dashboard

Admin Reports


๐ŸŽฏ Project Purpose

SmartBank was developed as a practical Java Full Stack project to implement real-world banking workflows using enterprise Java technologies.

The project focuses on applying concepts such as:

  • Object-Oriented Programming
  • MVC architecture
  • Spring MVC
  • JPA / Hibernate
  • Database relationships
  • Transaction management
  • Session management
  • Email integration
  • PDF generation
  • Role-based application features

๐Ÿ‘ฉโ€๐Ÿ’ป Developer

Harika Akula

Aspiring Java Full Stack Developer

Focused on building practical applications using Java, Spring, Hibernate, JSP, and MySQL.


โญ SmartBank Management System

A practical digital banking application built to bring together customer banking, transactions, statements, loans, email services, and administration in one system.

Built with Java โ€ข Spring MVC โ€ข Hibernate โ€ข JSP โ€ข MySQL

About

A full-stack digital banking web application built with Java, Spring MVC, Hibernate, JSP, and MySQL, featuring OTP authentication, fund transfers, transactions, PDF statements, loans, and admin management.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages