This Application, use Python OOP skills to build out a banking application that allows users to view their checking and savings account balances, make deposits and withdrawals from either account, and transfer from savings to checking or vice versa. After each transaction, the users should be able to view their updated balances.
- Motivation: Practice OOP in Python through a real-world banking app simulation.
- Purpose: Create a CLI tool for managing checking and savings accounts.
- Problem Solved: Simplifies tracking of account activity with input validation and logic.
- What I Learned: Core OOP concepts like inheritance, abstraction, and input validation in Python.
- Clone the repository:
git clone https://github.com/lunahoushmand16/BankingSystem-Python-OOP
- Navigate to the project folder:
cd BankingSystem-OOP - Run the Python script:
python3 main.py
- ✅ No external packages or database setup required.
-
Run the script from your terminal.
-
Log in with a valid email and password.
-
Choose to make a deposit, withdrawal, transfer, or view balances.
-
Invalid inputs are handled gracefully with error messages and retries.
-
Quit the program at any time by selecting the "q" option.
- Created by Luna Houshmans
- Technologies used:
This project is licensed under the MIT License. See the LICENSE file for details.
-
Object-Oriented Design using BankAccount base class
-
Inheritance for CheckingAccount and SavingsAccount
-
Input validation with retry attempts for login
-
Overdraft protection logic
-
Menu-based interaction with persistent state
-
Full transaction handling (deposit, withdraw, transfer)
- Fork the repository
- Create a new branch:
git checkout -b feature-name - Make changes and commit:
git commit -m 'Add feature X' - Push changes:
git push origin feature-name - Open a pull request
This is a command-line application and does not include automated unit tests. To manually test the system, run the app and follow various input scenarios. For test output examples, please refer to the Screenshots section above.





