Skip to content

Nirjala7-11/ATM-Simulation-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

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

About

Console based ATM system using JAVA!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages