A console-based Bank Management System developed using Core Java, following OOP principles, file handling, and a menu-driven approach.
This project simulates basic banking operations such as account creation, deposit, withdrawal, and account display.
- Create new customer bank accounts
- Deposit money into an account
- Withdraw money with balance validation
- Display account details
- Persistent storage using file handling
- Menu-driven console interface
- Clean separation of layers (Model, Service, Main)
- Java (Core Java)
- Object-Oriented Programming (OOP)
- File Handling (BufferedReader / BufferedWriter)
- Collections (ArrayList)
- Exception Handling
- Git & GitHub
com.bank ├── main │ └── BankApp.java ├── model │ ├── Account.java │ ├── Customer.java │ └── Admin.java └── service ├── BankService.java └── BankServiceImpl.java
- Account data is stored in a text file (
accounts.txt) - Each account record is stored in the format: accountNumber|holderName|balance|isActive|customerId|password|email
- On deposit or withdrawal:
- File is read
- Data is updated in memory
- File is rewritten safely
- Clone the repository
git clone https://github.com/Ayush20054/bank-management-system.git
2.Open in IntelliJ / Eclipse
3.Run BankApp.java
4.Use menu options (1–5)
**Learning Outcomes:**
Strong understanding of Java OOP
Practical use of file handling
Menu-driven program logic
Real-world project structure
Git & GitHub workflow
**Author**
Ayush Khandekar
Aspiring Java Developer
**License**
This project is for learning and educational purposes.
---
## ✅ STEP 3: SAVE & COMMIT README
Run these commands:
```bash
git status
git add README.md
git commit -m "Add professional README documentation"
git push