Skip to content

HimanshuHeda/Bank_Management_System_Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏦 Bank Management System (ATM Machine)

✨ Introduction

The Bank Management System (ATM Machine) is a Java-based application that simulates basic banking operations through an ATM-like interface. Users can perform essential transactions such as PIN change, cash withdrawal, deposits, balance inquiry, and more.

The application is built using Java Swing for a graphical user interface and JDBC for secure database connectivity.

πŸ’³ Features

  • βž• Deposit: Add money to your bank account.
  • βž– Cash Withdrawal: Withdraw money from your account.
  • ⏫ Fast Cash: Quick withdrawal of pre-defined amounts.
  • πŸ“ˆ Balance Inquiry: Check your current account balance.
  • πŸ“ Mini Statement: View a summary of recent transactions.
  • πŸ”‘ PIN Change: Securely update your ATM PIN.
  • ❌ Exit: Safely log out of the application.

πŸ’» Technologies Used

  • Programming Language: Java
  • GUI Framework: Swing (Java)
  • Database: MySQL
  • Database Connectivity: JDBC
  • IDE: IntelliJ IDEA / Eclipse / NetBeans (or any Java IDE)

πŸ› οΈ Installation and Setup

⚑ Prerequisites

  • JDK 8 or higher installed on your machine.
  • MySQL Server installed and configured.
  • Java IDE (e.g., IntelliJ IDEA, Eclipse, or NetBeans).

⭐ Steps to Run the Project

  1. git clone https://github.com/HimanshuHeda/Bank_Management_System_Java.git

  2. Open the project in your Java IDE.

  3. Set up the database:

    • Import the provided SQL script (database_setup.sql) to create the required tables in MySQL.
    • Update the Conn class with your MySQL credentials.
  4. Compile and run the project: Execute the Transactions or Main class to launch the application.

πŸ“š Database Structure

The project uses the following tables:

1. bank Table (Stores user account details and transactions)

   CREATE TABLE bank (     
       account_no INT PRIMARY KEY,     
       name VARCHAR(50),     
       balance DOUBLE,     
       pin VARCHAR(4)  
       );   

2. login Table (Manages user authentication)

3. signupthree Table (Contains user registration details)

πŸ’» How to Use

  1. Run the application.
  2. Log in using your account PIN.
  3. Select the desired operation from the menu.
  4. Follow the on-screen prompts to complete the transaction.
  5. Log out when finished by clicking the Exit button.

Screenshots

Login Page:

image

SignUpOne:

image

Main Transactions Menu:

image

PIN Change Interface:

image

Withdrawl:

Screenshot 2025-01-15 153737

FastCash:

image

⚠️ Known Issues

  • Ensure all database credentials are correct to avoid connection issues.
  • Add input validation for robust error handling and to prevent SQL injection attacks.

πŸš€ Future Enhancements

  • βœ… Multi-User Support: Implement unique account numbers for multiple users.

  • πŸ”’ OTP Verification: Add an extra layer of security during login and transactions.

  • 🎨 Enhanced GUI: Upgrade the user interface for a more modern and intuitive experience.

🀝 Contributing

Contributions are welcome! If you want to contribute:

  1. Fork the repository.
  2. Create a new feature branch.
  3. Commit your changes with meaningful messages.
  4. Submit a pull request.

πŸ“œ License

This project is licensed under the MIT License. See the LICENSE file for details.

πŸ“ž Contact

For any queries or suggestions, feel free to reach out:

About

This is basically a Project on ATM working using Java and MySQL as Backend. Secure, Seamless, and Smarter Banking at Your Fingertips.A Java-based ATM system with robust functionality like PIN change, balance inquiry, and mini-statement generation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages