Skip to content

Latest commit

ย 

History

History
111 lines (74 loc) ยท 2.23 KB

File metadata and controls

111 lines (74 loc) ยท 2.23 KB

ATM-Simulation-Java

Console based ATM system using JAVA!

๐Ÿ’ณ Java ATM Simulation System

๐Ÿ‘ฉโ€๐Ÿ’ป Developed by: Nirjala Dixit


๐Ÿ“Œ Project Overview

This project is a console-based ATM simulation system built using Java.
It simulates real-world banking operations like account creation, login, withdrawal, deposit, PIN management, and transaction tracking using Object-Oriented Programming (OOP).


๐Ÿš€ Features

๐Ÿ” User Authentication

  • Login using Account Number & PIN
  • Secure PIN change functionality

๐Ÿ‘ค Account Management

  • Create new account
  • Auto-generated Account Number
  • Supports multiple users

๐Ÿ’ฐ Transactions

  • Withdrawal with denomination breakdown (โ‚น100, โ‚น50, โ‚น20, โ‚น10, โ‚น5, โ‚น2, โ‚น1)
  • Deposit with note breakdown

๐Ÿ“Š Banking Services

  • Balance inquiry
  • Mini statement (last 5 transactions)

๐Ÿงพ Transaction History

  • Stores last 10 transactions
  • Includes date & time for each transaction

๐Ÿ› ๏ธ Technologies Used

  • โ˜• Java (Core)
  • ๐Ÿง  OOP Concepts (Encapsulation, Classes, Methods)
  • ๐Ÿ“‚ ArrayList (Dynamic Data Storage)
  • โŒจ๏ธ Scanner (User Input)
  • โฑ๏ธ LocalDateTime (Date & Time Handling)

โ–ถ๏ธ How to Run

  1. Compile the program:
javac atmfinal.java

๐Ÿ“Š Sample Output

------ MINI STATEMENT ------

Deposit : โ‚น2000 | 26-03-2026 20:45:12

Withdrawal : โ‚น500 | 26-03-2026 20:47:03

Current Balance: โ‚น51500


๐Ÿง  Concepts Applied

  • Object-Oriented Programming (OOP)
  • Encapsulation (private variables with getters/setters)
  • Menu-driven programming
  • Dynamic data handling using ArrayList
  • Real-world system simulation

โš ๏ธ Limitations

  • No database (data resets after program restart)
  • Console-based interface (no GUI)
  • Basic authentication (no encryption)

๐Ÿ”ฎ Future Improvements

  • GUI using Java Swing or JavaFX
  • Database integration (MySQL)
  • Enhanced security (encrypted PINs)
  • Transaction receipt generation
  • Improved validation & error handling

๐ŸŒŸ Highlights

  • Auto account number generation
  • Multi-user support
  • Transaction history with timestamps
  • Clean OOP-based structure
  • Realistic ATM workflow

๐Ÿ“Ž Author

Nirjala Dixit
B.E. IT Student