- A command-line banking system written in Python that simulates real-world banking operations such as managing customers, savings accounts, checking accounts, and business accounts.
- The project focuses on object-oriented programming, file persistence using JSON, and clean separation of concerns.
- Personal customer accounts
- Savings accounts with interest
- Checking accounts with overdraft support
- Business accounts with:
- Authorized users
- Transfers between business accounts
- Loan management
- Persistent data storage using JSON files
- Input validation and custom exceptions
- Fully tested with
pytest
- Object-Oriented Programming (OOP)
- Inheritance and polymorphism
- File I/O (JSON)
- Custom exceptions
- Unit testing with
pytest - CLI-based user interaction
- Make sure you have Python 3.10+ installed.
- Clone the repository or download the project.
- Open a terminal in the project directory.
- Run: python main.py
- This project is intended for learning and practice purposes.
- It does not include all features of an advanced real world banking system
- No external libraries are required.