Console based ATM system using JAVA!
👩💻 Developed by: Nirjala Dixit
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).
- Login using Account Number & PIN
- Secure PIN change functionality
- Create new account
- Auto-generated Account Number
- Supports multiple users
- Withdrawal with denomination breakdown (₹100, ₹50, ₹20, ₹10, ₹5, ₹2, ₹1)
- Deposit with note breakdown
- Balance inquiry
- Mini statement (last 5 transactions)
- Stores last 10 transactions
- Includes date & time for each transaction
- ☕ Java (Core)
- 🧠 OOP Concepts (Encapsulation, Classes, Methods)
- 📂 ArrayList (Dynamic Data Storage)
- ⌨️ Scanner (User Input)
- ⏱️ LocalDateTime (Date & Time Handling)
- Compile the program:
javac atmfinal.java------ MINI STATEMENT ------
Deposit : ₹2000 | 26-03-2026 20:45:12
Withdrawal : ₹500 | 26-03-2026 20:47:03
Current Balance: ₹51500
- Object-Oriented Programming (OOP)
- Encapsulation (private variables with getters/setters)
- Menu-driven programming
- Dynamic data handling using ArrayList
- Real-world system simulation
- No database (data resets after program restart)
- Console-based interface (no GUI)
- Basic authentication (no encryption)
- GUI using Java Swing or JavaFX
- Database integration (MySQL)
- Enhanced security (encrypted PINs)
- Transaction receipt generation
- Improved validation & error handling
- Auto account number generation
- Multi-user support
- Transaction history with timestamps
- Clean OOP-based structure
- Realistic ATM workflow
Nirjala Dixit
B.E. IT Student