Skip to content

A Java-based application for an ATM simulator. The project features a user-friendly GUI developed using Swing and AWT libraries and integrates with a MySQL database for secure and efficient data storage.

Notifications You must be signed in to change notification settings

KajalMishra-29/Bank-Management-System

Repository files navigation

Bank-Management-System

A simple and secure Bank Management System (ATM SIMULATOR) developed in Java using Swing for the user interface and MySQL for database management. This system allows users to perform basic banking operations like creating an account, logging in, making deposits/withdrawals, changing PIN, checking balance, and more.

TECHNOLOGIES USED

Java :- Core programming language.
Swing & AWT :- For building the graphical user interface (GUI).
MySQL :- For managing user accounts and transactions.


FEATURES

User Registration & Login

User can register and log in to the system.
User can change PIN and view mini statements.

Banking Operations

Deposit :- Deposit money into the bank account.
Withdraw :- Withdraw money from the bank account, with balance checking.
Fast Cash :- Quickly withdraw predefined amounts.
Balance Enquiry :- Check the current balance.
Mini Statement :- View recent transactions.

Security Features

PIN-based authentication for secure access to the system.
Validation to ensure all fields are filled properly.

Database Integration

User data, transactions, and account information are stored in a MySQL database.


FILE STRUCTURE

src
├── database_setup.sql
├── config.properties
├── icons
└── bank.management.system 
     ├── BalanceEnquiry.java
     ├── Conn.java
     ├── Deposit.java
     ├── FastCash.java
     ├── Login.java
     ├── MiniStatement.java
     ├── PinChange.java
     ├── Transaction.java
     ├── Withdraw.java
     ├── SignupOne.java
     ├── SignupThree.java
     ├── SignupTwo.java
     └──JIntegerField
          ├── JIntegerPasswordField.java
          └──JIntegerTextField.java

BalanceEnquiry.java - Displays current account balance.
Conn.java - Manages database connection.
Deposit.java - Handles the deposit operation.
FastCash.java - Facilitates quick withdrawals.
Login.java - Handles the login process.
MiniStatement.java - Displays recent transactions.
PinChange.java - Allows users to change their PIN.
SignupOne.java, SignupTwo.java, SignupThree.java - User registration process.
Transaction.java - Main screen after login, offering various banking operations.
Withdraw.java - Handles the withdrawal operation.


DATABASE SETUP

Using Command Line

  1. navigate to src folder containg database_setup.sql file
  2. Log into MySQL (replace root with your MySQL username, and you'll be prompted for your password).
    mysql -u root -p
  3. Once logged into MySQL, execute the SQL script by running
    source database_setup.sql

Using MySQL Workbench

  1. Open MySQL Workbench.
  2. Connect to your MySQL server using your credentials.
  3. File > Open SQL Script and select the database_setup.sql file.
  4. click the lightning bolt icon (or press Ctrl+Shift+Enter) to execute the SQL commands.


How to Run

  1. Clone the repository
  2. Import the project into your IDE.
  3. Ensure that MySQL is running and the database and tables are set up as described above.
  4. create config.properties file containing mySql credentials in the src directory of your project
    db.url = jdbc:mysql://localhost:3306/bankSystem
    db.username = root
    db.password = password
  5. Run the Login.java class to start the application.


some smaple screenshots

Login Screen

image

Signup Screen

image

Main Transaction Screen

image

Withdraw Screen

image

Mini Statement screen

image

About

A Java-based application for an ATM simulator. The project features a user-friendly GUI developed using Swing and AWT libraries and integrates with a MySQL database for secure and efficient data storage.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages