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.
- β 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.
- Programming Language: Java
- GUI Framework: Swing (Java)
- Database: MySQL
- Database Connectivity: JDBC
- IDE: IntelliJ IDEA / Eclipse / NetBeans (or any Java IDE)
- JDK 8 or higher installed on your machine.
- MySQL Server installed and configured.
- Java IDE (e.g., IntelliJ IDEA, Eclipse, or NetBeans).
-
git clone https://github.com/HimanshuHeda/Bank_Management_System_Java.git
-
Open the project in your Java IDE.
-
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.
-
Compile and run the project: Execute the Transactions or Main class to launch the application.
The project uses the following tables:
CREATE TABLE bank (
account_no INT PRIMARY KEY,
name VARCHAR(50),
balance DOUBLE,
pin VARCHAR(4)
);
- Run the application.
- Log in using your account PIN.
- Select the desired operation from the menu.
- Follow the on-screen prompts to complete the transaction.
- Log out when finished by clicking the Exit button.
- Ensure all database credentials are correct to avoid connection issues.
- Add input validation for robust error handling and to prevent SQL injection attacks.
-
β 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.
Contributions are welcome! If you want to contribute:
- Fork the repository.
- Create a new feature branch.
- Commit your changes with meaningful messages.
- Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any queries or suggestions, feel free to reach out:
- π€ Name: Himanshu Heda
- π§ Email: himanshuheda123@gmail.com
- π» GitHub: HimanshuHeda
- π LinkedIn: Himanshu Heda





