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.
- 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
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
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.
Customers can:
- Apply for loans
- View submitted applications
- Track loan status
Administrators can:
- Review applications
- Approve loans
- Reject loans
- Monitor loan-related information
The admin module provides:
- Customer management
- Loan management
- Loan approval / rejection
- Transaction and banking reports
- Monthly reports
- Annual reports
- Overall banking information
| 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 |
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.
Customer Registration
โ
Email OTP Verification
โ
Secure Login
โ
Banking Dashboard
โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโ
โ โ โ
Transfer Transactions Loans
โ โ โ
Balance PDF Statement Loan Status
Update + Email Tracking
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_PASSWORDFor 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.
Make sure you have:
- Java JDK
- Eclipse IDE
- Maven
- MySQL / MariaDB
- Apache Tomcat 10
- Git
git clone https://github.com/harikahub/SmartBankManagementSystem.git- Import the project into Eclipse as a Maven Project.
- Create and configure the MySQL / MariaDB database.
- Add your local database credentials.
- Add your local email configuration for OTP and email statements.
- Configure Apache Tomcat 10 in Eclipse.
- Deploy and run the application.
- ๐ 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
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
Aspiring Java Full Stack Developer
Focused on building practical applications using Java, Spring, Hibernate, JSP, and MySQL.
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













