The Bank Management System is a secure, scalable, and user-friendly application that simulates real-world banking operations using Spring Boot, Thymeleaf, and MySQL. It incorporates Spring Security for authentication and authorization, JWT for secure token-based communication, and OAuth2 for third-party login options like Google and GitHub. The system provides essential banking features such as deposits, withdrawals, fund transfers, and transaction history, while supporting role-based access control for Admin, Employee, and Customer roles. Its architecture follows a layered design with clear separation between the Controller, Service, Repository, and Security layers, making it scalable for future enhancements like multi-currency support and loan management. Built with a focus on security, user experience, and real-time functionality, it ensures a seamless and safe experience for both desktop and mobile users. A secure, feature-rich, and responsive Bank Management System built with modern Java and web technologies. This project helps manage banking operations like customer registration, account handling, fund transfers, and user role access with a clean UI and robust backend.
- ๐น HTML5, CSS3
- ๐น Responsive Design
- ๐น Thymeleaf (Spring Boot templating engine)
- ๐งฉ Spring Boot
- ๐ Spring Security (with Secure Authentication and Authorization)
- ๐ OAuth2 (for third-party login integration)
- ๐งช RESTful APIs
- ๐ฌ MySQL
- ๐ฟ Hibernate JPA
- ๐ฟ Spring Data JPA
- ๐ฆ Maven
- Login
- Registration
- This is Pratik khot's bank account
- Deposit
- Withdraw
- Transfer Money
- Pratik Khot Account Transaction History
- This is Yash khot's bank account
- Deposit
- Withdraw
- Transfer Money
- Yash Khot Account Transaction History
- Pratik khot Account After Transfer Money
- Pratik Khot Account Transaction History
- Transfer Money for Unknown database
- Recipient account not found
- Transfer Money Insufficient Balance
- Insufficient funds
- Retrieve All Accounts Data in MySQL Database with Secure Password
- Retrieve All Transaction Data in MySQL Database
- โ Authentication with Spring Security & OAuth2
- โ Role-Based Authorization (Customer)
- โ Encrypted Passwords using BCrypt
- โ Session & Token-Based Authentication
- โ OAuth2 Integration for social login
- โ CSRF Protection and input validation
- ๐ง User Registration & Login
- ๐ณ Account Creation & Management
- ๐ Deposit, Withdraw, and Transfer Funds
- ๐ View Transaction History
- ๐ Role-based dashboards (Customer)
- ๐ก๏ธ Secure Authentication & Authorization
- ๐ Admin Panel for managing users & roles
- ๐ REST APIs for external integrations
- ๐ฑ Fully Responsive UI
-
Personal banking access only.
-
Can:
-
๐ฐ Deposit money
-
๐ง Withdraw funds
-
๐ Transfer funds
-
๐ View their own transaction history
-
-
Cannot access or manage other users/accounts.
bank-management-system/ โโโ src/โโโโ main/ โ โโโ java/ โ โ โโโ com/example/bank/ โ โ โโโ config/ # ๐ Security, OAuth2, JWT configs โ โ โโโ controller/ # ๐ฎ REST & MVC controllers โ โ โโโ dto/ # ๐ฆ Data Transfer Objects โ โ โโโ model/ # ๐งฉ JPA Entity classes โ โ โโโ repository/ # ๐ Spring Data JPA Repositories โ โ โโโ service/ # ๐ง Business Logic Layer โ โ โโโ BankApp.java # ๐ Main Spring Boot Application โ โโโ resources/ โ โโโ static/ # ๐จ Static files (CSS, JS, Images) โ โโโ templates/ # ๐งพ Thymeleaf HTML Templates โ โโโ application.properties # โ๏ธ App Configurations โโโ pom.xml # ๐ ๏ธ Maven Build Configuration โโโ README.md # ๐ Project Documentation
- Clone the repository
git clone https://github.com/your-username/bank-management-system.git
cd bank-management-systemCREATE DATABASE bankdb;
spring.datasource.url=jdbc:mysql://localhost:3306/bankdb
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.thymeleaf.cache=false
./mvnw spring-boot:run
Visit: http://localhost:8080
- ๐ฒ Mobile-friendly interface included
Method Endpoint Description GET /api/users Fetch all users POST /api/accounts Create new account GET /api/accounts/{id} View account details PUT /api/accounts/{id} Update account info DELETE /api/users/{id} Delete a user
โ Mobile-first design
โ Responsive tables & forms
โ Accessible via desktop, tablet, and mobile
Created with โค๏ธ by Pratik Khot
๐ portfolio.com
๐ GitHub
๐ผ LinkedIn

























