A simple console-based bank management project demonstrating core Object-Oriented Programming (OOP) concepts in Python.
- Project Overview
- Features
- Project Structure
- Installation
- How to Run
- Technologies Used
This is a mini banking application where users can:
- Create Savings or Current accounts
- Perform Deposits and Withdrawals
- View Transaction History
- Maintain Withdrawal Limits (for Savings Accounts)
- Maintain Minimum Balance (for Current Accounts)
- Save and Load user data automatically with file handling (
pickle
)
- Create Savings and Current accounts
- Deposit money
- Withdraw money with proper validations
- View transaction history
- Persistent storage using Pickle
- Error handling with custom exceptions
├── account.py # Contains BankAccount, SavingAccount, CurrentAccount classes
├── bank_system.py # Handles overall system functionalities
├── exceptions.py # Custom exception (InsufficientBalanceError)
├── transactions.py # Transaction recording class
├── main.py # User interface (CLI menu)
├── bank_data.pkl # Auto-saved data file (after running program)
└── README.md # Project documentation
-
Clone the repository:
bash git clone https://github.com/your-username/bank-management-system.git cd bank-management-system
-
(Optional) Create a virtual environment:
bash python -m venv venv source venv/bin/activate # For Linux/Mac venv\Scripts\activate # For Windows
-
Install requirements (not really needed, but good practice):
bash pip install -r requirements.txt
Simply execute:
bash python main.py
Follow the menu to create accounts, deposit, withdraw, view transactions, and more!
- Python 3.x
- Pickle Module
- Object-Oriented Programming (OOP)