A full-featured Java Desktop Application for managing banking operations using Java Swing, MySQL, and FlatLaf.
The Banking Management System is a desktop-based application designed to simplify core banking functionalities such as customer registration, account handling, balance inquiries, transactions, and user management. It provides a clean, modern UI using FlatLaf and is backed by a relational MySQL database with proper normalization and foreign key constraints.
Layer | Technology |
---|---|
UI | Java Swing + FlatLaf |
Backend Logic | Java |
Database | MySQL |
Connectivity | JDBC (Java Database Connectivity) |
IDE | Eclipse |
- ✅ Secure Login System (Username/Password)
- 👤 Customer Registration with Auto-ID (CS001, CS002, ...)
- 🏦 Account Creation (Saving, Current, Fixed)
- 💰 Deposit & Withdrawal Operations with Live Balance Updates
- 🔁 Money Transfers between Accounts
- 📊 Account Balance Inquiry with Customer Details
- 🧑💼 User Management Module (Admin Panel)
- 📄 Customer Report View using JTable
- ❌ Robust Error Handling + Input Validation
- 🔍 SQL JOINs for meaningful data fetching
- ⚙️ Full CRUD Implementation (Create, Read, Update, Delete)
branch (id, branch)
customer (cust_id, firstname, lastname, city, branch_id, phone)
account (acc_id, cust_id, acc_type, balance)
deposit (acc_id, cust_id, date, balance, deposit)
withdraw (acc_id, cust_id, date, balance, withdraw)
transfer (f_account, to_account, amount)
user (username, name, password)
🧠 Normalized to 3NF
🔗 Fully relational with proper PK-FK constraints
- 📥 Clone the repository or copy project files.
- 🔧 Create the database in MySQL using the provided SQL script.
- ⚙️ Update JDBC connection string (
localhost
,database
,username
,password
) in.java
files. ▶️ Runlogin.java
ormainmenu.java
from Eclipse.- 👨💻 Login with default user or create a new one.
- Password encryption with hashing (e.g., bcrypt)
- Role-based access control (admin, cashier)
- Mobile/Web version (React/Flutter/JavaFX)
- Real-time notifications (email/SMS)
- PDF Report Generation (JasperReports)
Asim Hanif
Final Year CS Student | Java Developer | DBMS Enthusiast
💼 LinkedIn
📩 Email: [email protected]
💻 GitHub: Github
This project is part of an academic submission and can be used for learning or portfolio purposes.