A console-based banking management system built using Java.
This project simulates core banking operations such as account creation, deposits, withdrawals, online transfers, transaction history, password management, and persistent data storage using file handling.
- 🏦 Create Bank Account
- 🔐 Secure Login System
- 💰 Deposit & Withdraw Money
- 🔄 Online Money Transfer
- 📜 Transaction History
- 🔑 Change Password
- 💾 File-Based Data Persistence
⚠️ Custom Exception Handling- 🧠 Auto Account Number Generation
- Java
- OOP
- Collections Framework
- File Handling
- Exception Handling
- ArrayList
- BufferedReader / BufferedWriter
- Encapsulation
- Constructors
- Static Members
- Custom Exceptions
- Object Persistence
- CSV Data Handling
- Transaction Management
- Modular Programming
Smart-Bank-Management-System/
│
├── Main.java
├── BankAccount.java
├── InsufficientBalanceException.java
├── accounts.txt
└── README.md- Create Account
- Secure Login
- Change Password
- Deposit
- Withdraw
- Transfer Money
- Check Balance
- Complete transaction history
- Sender & receiver transaction tracking
- Accounts automatically saved into file
- Data reloads on next execution
Custom exception used:
InsufficientBalanceExceptionHandles:
- Low balance withdrawals
- Invalid transfers
- Clone the repository
- Open in IntelliJ IDEA / VS Code
- Run
Main.java
This project helped me understand:
- Real-world application flow
- OOP implementation
- File handling and data persistence
- Transaction logic
- Exception handling
- Modular architecture design
Prakhar Singh GitHub: https://github.com/sybercingh