This is a simple ATM Management System built using Java AWT, Swing, JDBC for database connectivity, and MySQL for data storage. The application allows users to simulate basic ATM functionalities such as account creation, withdrawal, deposit, balance inquiry, and more.
- Login Authentication: User can log in with their credentials.
- Account Management: Create, delete, and manage user accounts.
- Balance Inquiry: Check account balance.
- Withdrawal & Deposit: Perform cash withdrawal and deposit operations.
- Transaction History: View history of all transactions.
- Fast Cash: Withdraw a predefined amount of cash in single click.
- Pin Change: Users can update their atm pin to enhance account security.
- Exit: Log out and exit the system securely.
- Java AWT and Swing: For creating the user interface.
- JDBC (Java Database Connectivity): For database connectivity with MySQL.
- MySQL: For data storage and management.
- Java Development Kit (JDK) installed.
- MySQL installed and running.
- A MySQL client or command line to create and manage the database.
-
Clone the repository:
git clone https://github.com/jainam-04/ATM-Management-System.git
-
Set up the MySQL database:
-
Create a new database in MySQL:
CREATE DATABASE atm_management;
-
Use the following schema to create the necessary tables for the system:
USE atm_management; CREATE TABLE bank ( pin VARCHAR(10) NOT NULL, date PRIMARY KEY VARCHAR(50) NOT NULL, type VARCHAR(20) NOT NULL, amount VARCHAR(10) NOT NULL ); CREATE TABLE login ( formNo PRIMARY KEY VARCHAR(10) NOT NULL, cardNo VARCHAR(20) NOT NULL, pin VARCHAR(10) NOT NULL ); CREATE TABLE signup ( formNo PRIMARY KEY VARCHAR(10) NOT NULL, name VARCHAR(45) NOT NULL, fathername VARCHAR(45) NOT NULL, dob VARCHAR(20) NOT NULL, gender VARCHAR(10) NOT NULL, email VARCHAR(50) NOT NULL, marriedStatus VARCHAR(10) NOT NULL, address VARCHAR(50) NOT NULL city VARCHAR(20) NOT NULL, pin VARCHAR(10) NOT NULL, state VARCHAR(20) NOT NULL ); CREATE TABLE signup2 ( formNo PRIMARY KEY VARCHAR(10) NOT NULL, religion VARCHAR(20) NOT NULL, category VARCHAR(20) NOT NULL, income VARCHAR(10) NOT NULL, education VARCHAR(20) NOT NULL, occupation VARCHAR(20) NOT NULL, panNo VARCHAR(20) NOT NULL, aadharNo VARCHAR(15) NOT NULL, seniorCitizen VARCHAR(10) NOT NULL, existingAccount VARCHAR(10) NOT NULL ); CREATE TABLE signup3 ( formNo PRIMARY KEY VARCHAR(10) NOT NULL, accountType VARCHAR(30) NOT NULL, cardNo VARCHAR(20) NOT NULL, pin VARCHAR(10) NOT NULL, facility VARCHAR(100) NOT NULL );
-
Configure database connection:
-
In your Java project, update the JDBC connection settings in your code to connect to the MySQL database.
String url = "jdbc:mysql://localhost:3306/atm_management"; String username = "your_mysql_username"; String password = "your_mysql_password";
-
-
Compile and run the project:
-
Use your IDE (like Eclipse or IntelliJ IDEA) or the terminal to compile and run the project.
javac -cp ".:mysql-connector-java-8.0.XX.jar" ATMSystem.java java -cp ".:mysql-connector-java-8.0.XX.jar" ATMSystem
-
- Login: Enter your account number and PIN to log in.
- Balance Inquiry: View your current balance.
- Withdrawal: Withdraw an amount from your account (ensure sufficient balance).
- Deposit: Deposit an amount to your account.
- Transaction History: View all past transactions.
- Log out: Securely exit the system.
Contributions are welcome! Please open an issue or submit a pull request for any bugs or features.