Total Bank Manager is a comprehensive banking management system built using Java (Swing) and MySQL, designed for secure and efficient banking operations. The system operates with a three-tier user access model:
- Customers can register, manage their accounts, perform transactions, and raise complaints.
- Employees handle account verification, transaction approvals, and customer support.
- Managers (Super Admins) oversee bank operations, manage employees, track financial trends, and generate reports.
This project leverages email verification, graphical analytics, automated account handling, and secure authentication to create a fully digital banking experience.
1️⃣ Customers
- Register with email verification 📧
- Apply for new accounts with document upload 📄
- Check application status (approved/rejected) ✅❌
- View transaction history & statements 📊
- Perform withdrawals (daily limit for savings accounts: ₹40,000) 💰
- Block/Unblock accounts 🔒
- Raise complaints or service requests 🛠️
2️⃣ Employees
- Verify, accept, or reject customer applications 🧐
- Handle complaints & requests 📩
- Perform transactions on behalf of customers 💳
- Modify customer details & manage accounts 📑
- Receive announcements from the manager 📢
- Use universal search for all tables 🔎
3️⃣ Managers (Super Admins)
- Control & manage employees 🏛️
- Approve/reject employee-submitted requests 🔄
- Monitor financial statistics using bar & line graphs 📈
- Generate reports & transaction history 📑
- Make bank-wide announcements for employees & customers 🏦
- Track complaint resolution & pending applications 📊
✔ Automated Account Creation – Customers get an auto-generated account number upon approval.
✔ Graphical Statistics – View cash flow trends, account growth, and complaints overview in bar & line graphs.
✔ Email Verification & Notifications – Secure email-based registration and updates.
✔ Complaint Resolution System – Customers can file complaints and receive employee support.
✔ Transaction History & PDF Export – Users can print/download transaction records.
- Programming Language: Java (Swing)
- IDE: Apache NetBeans
- Database: MySQL
- Libraries & Frameworks:
- 🔗 JDBC (MySQL Connector) – Database connectivity
- 📊 JFreeChart – Graphical statistical reports
- 📅 JCalendar – Calendar-based date selection
- 📩 JavaMail API – Email verification & notifications
- 📝 iTextPDF – PDF export for transaction records
- 📦 Java Activation Framework – Data handling support
This project requires the following external libraries:
mysql-connector-java-5.1.47-bin.jarjfreechart-1.0.19.jarjcommon-1.0.23.jarjcalendar-1.4.jarjavax.mail.jaritextpdf-5.5.9.jaractivation-1.1.1.jar
- Java Development Kit (JDK)
- Apache NetBeans IDE
- MySQL Server
- Import the provided
.sqlfile to initialize the database schema. - Update the database credentials in the project (
database.propertiesor equivalent).
- Copy all JAR files into the
libfolder. - Add them to the project classpath in Apache NetBeans.
- Open the project in NetBeans.
- Modify email configurations for email verification.
- Click Run to start the system.
1️⃣ Register → Complete email verification 📧
2️⃣ Apply for account → Upload documents & submit 📝
3️⃣ Wait for approval (Accepted/Rejected) ⏳
4️⃣ Upon approval:
- Perform transactions 💳
- View/download transaction history 📄
- Submit complaints/requests 📩
5️⃣ Upon rejection: - View rejection reason ❌
- Resubmit corrected application 🔄
1️⃣ Review customer applications 🕵️♂️
2️⃣ Accept/Reject with reason ✅❌
3️⃣ Handle customer complaints 📝
4️⃣ Manage customer account details 🔍
5️⃣ Generate transaction statements 📊
1️⃣ Manage employees 🏛️
2️⃣ Approve/Reject employee-submitted requests ✅
3️⃣ Monitor bank statistics 📈
4️⃣ Make announcements 📢
5️⃣ Track complaint resolution & pending applications 📊
✔ Deposit vs Withdrawal trends (Bar & Line Graphs)
✔ Total active accounts & pending applications
✔ Complaint resolution progress
✔ Financial inflow/outflow tracking
Screenshots are available in the "Images" folder.