Skip to content

SukalyanManna27/Bank-Management-System-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏦 Bank Management System

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.


✨ Features

  • 🔐 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

🛠️ Tech Stack

  • Language: Java
  • GUI: Java Swing
  • Database: PostgreSQL
  • Database Connectivity: JDBC
  • IDE: IntelliJ IDEA
  • Architecture: DAO (Data Access Object)
  • Version Control: Git & GitHub

📂 Project Structure

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

🚀 Getting Started

Prerequisites

  • Java JDK 8 or above
  • PostgreSQL
  • IntelliJ IDEA
  • PostgreSQL JDBC Driver

Installation

  1. Clone the repository
git clone https://github.com/yourusername/Bank-Management-System.git
  1. Open the project in IntelliJ IDEA.

  2. Create a PostgreSQL database.

  3. Import the SQL file located in the database folder.

  4. Update your database credentials in:

Conn.java

Example:

String url = "jdbc:postgresql://localhost:5432/your_database";
String user = "postgres";
String password = "your_password";
  1. Add the PostgreSQL JDBC Driver to the project.

  2. Run:

Main.java

🗃️ Database

The project uses PostgreSQL to store:

  • User Information
  • Account Details
  • Transactions
  • Current Balance
  • PIN Information

📌 Key Functionalities

  • Secure user authentication
  • Transaction history
  • Balance management
  • Fast cash withdrawals
  • PIN updates
  • DAO-based database operations

📖 Concepts Used

  • Object-Oriented Programming (OOP)
  • Java Swing GUI Development
  • JDBC
  • Exception Handling
  • Collections
  • MVC-inspired Structure
  • DAO Design Pattern

🎯 Future Improvements

  • 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

👨‍💻 Author

Sukalyan Manna

Electronics and Communication Engineering Student


⭐ Support

If you found this project useful:

  • ⭐ Star this repository
  • 🍴 Fork it
  • 📢 Share it

About

A desktop banking application developed using Java Swing and PostgreSQL. The system simulates ATM operations including account creation, deposits, withdrawals, fast cash, balance enquiry, mini statements, and PIN changes.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages