A desktop-based Bank Management System developed using Java Swing, JDBC, and PostgreSQL. The application simulates core ATM banking operations with a clean user interface and a DAO (Data Access Object) architecture for database management.
- 🔐 User Login Authentication
- 📝 New Account Registration (3-Step Signup)
- 💰 Deposit Money
- 💸 Withdraw Money
- ⚡ Fast Cash
- 📄 Mini Statement
- 💳 Balance Enquiry
- 🔄 PIN Change
- 🚪 Logout
- 🗄️ PostgreSQL Database Integration
- 🏛️ DAO Architecture for Clean Code
- Language: Java
- GUI: Java Swing
- Database: PostgreSQL
- Database Connectivity: JDBC
- IDE: IntelliJ IDEA
- Architecture: DAO (Data Access Object)
- Version Control: Git & GitHub
Bank-Management-System-Java/
│
├── src/
│ └── bank/
│ └── management/
│ └── system/
│ ├── dao/
│ │ ├── LoginDAO.java
│ │ ├── SignupDAO.java
│ │ └── TransactionDAO.java
│ │
│ ├── database/
│ │ └── Conn.java
│ │
│ ├── model/
│ │ └── Transaction.java
│ │
│ ├── theme/
│ │ └── Theme.java
│ │
│ ├── ui/
│ │ ├── Login.java
│ │ ├── Signup.java
│ │ ├── Signup2.java
│ │ ├── Signup3.java
│ │ ├── Transactions.java
│ │ ├── Deposit.java
│ │ ├── Withdraw.java
│ │ ├── FastCash.java
│ │ ├── BalanceEnquiry.java
│ │ ├── MiniStatement.java
│ │ └── PinChange.java
│ │
│ └── utils/
│ └── Validator.java
│
├── database/
│ └── bank_management.sql
│
├── screenshots/
│ ├── login.png
│ ├── signup1.png
│ ├── signup2.png
│ ├── signup3.png
│ ├── transactions.png
│ ├── deposit.png
│ ├── withdraw.png
│ ├── fastcash.png
│ ├── balanceenquiry.png
│ ├── ministatement.png
│ └── pinchange.png
│
├── README.md
├── LICENSE
└── .gitignore
- Java JDK 8 or above
- PostgreSQL
- IntelliJ IDEA
- PostgreSQL JDBC Driver
- Clone the repository
git clone https://github.com/yourusername/Bank-Management-System.git-
Open the project in IntelliJ IDEA.
-
Create a PostgreSQL database.
-
Import the SQL file located in the
databasefolder. -
Update your database credentials in:
Conn.java
Example:
String url = "jdbc:postgresql://localhost:5432/your_database";
String user = "postgres";
String password = "your_password";-
Add the PostgreSQL JDBC Driver to the project.
-
Run:
Main.java
The project uses PostgreSQL to store:
- User Information
- Account Details
- Transactions
- Current Balance
- PIN Information
- Secure user authentication
- Transaction history
- Balance management
- Fast cash withdrawals
- PIN updates
- DAO-based database operations
- Object-Oriented Programming (OOP)
- Java Swing GUI Development
- JDBC
- Exception Handling
- Collections
- MVC-inspired Structure
- DAO Design Pattern
- Password/PIN encryption
- Email & SMS notifications
- Interest calculation
- Transaction search & filters
- PDF Mini Statement
- Admin Dashboard
- Account Transfer
- Online Banking Portal
- Spring Boot REST API
- Docker Deployment
Sukalyan Manna
Electronics and Communication Engineering Student
If you found this project useful:
- ⭐ Star this repository
- 🍴 Fork it
- 📢 Share it