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