A professional Command-Line Interface (CLI) banking application developed using Python 3.13.
This project simulates a simple banking system where multiple users can securely log in, check their balance, deposit money, withdraw funds, and view transaction history. It was built to practice Python fundamentals, clean code principles, and software design.
The Mini Banking System is a menu-driven Python application that demonstrates how real-world banking operations can be implemented using core Python concepts.
The project focuses on writing clean, readable, and maintainable code while following good programming practices such as modular design, input validation, exception handling, and documentation.
This project is intended for learning purposes and is part of my Python developer portfolio.
- π User Authentication
- π€ Multiple User Accounts
- π° Check Account Balance
- β Deposit Money
- β Withdraw Money
- π Transaction History
- π Session Management
- β Input Validation
β οΈ Exception Handling- π Type Hinting
- π Function Docstrings
- π― Match-Case Menu
- πͺ Graceful Exit
| Technology | Description |
|---|---|
| Python 3.13 | Programming Language |
| CLI | Command-Line Interface |
| Dictionaries | User Database |
| Lists | Transaction Records |
| Match-Case | Menu Navigation |
| Type Hinting | Better Readability |
| Exception Handling | Error Management |
Mini-Banking-System/
β
βββ main.py
βββ README.md
βββ LICENSE
βββ .gitignore
βββ requirements.txt
βββ screenshots/
- Python 3.13 or later
- No external libraries required
Clone the repository:
git clone https://github.com/ariful3551/Mini-Banking-System.gitMove into the project folder:
cd Mini-Banking-SystemRun the application:
python main.py- Start the application.
- Login using a valid username and password.
- Choose an option from the menu.
- Perform banking operations.
- Logout or exit the program.
| Username | Password |
|---|---|
| max | 1234 |
| leon | 1235 |
| jonas | 1236 |
| felix | 1237 |
These accounts are included for demonstration purposes only.
This project was developed to practice and strengthen the following Python concepts:
- Variables & Data Types
- User Input & Output
- Type Casting
- Arithmetic Operators
- Comparison Operators
- Conditional Statements
- While Loop
- For Loop
- Functions
- Lists
- Dictionaries
- Nested Dictionaries
- List Methods (
append())
- String Formatting (f-Strings)
- Match-Case Statements
- Type Hinting
- Function Docstrings
- Constants
- Modular Programming
- User Authentication
- Session Management
- Balance Management
- Transaction Tracking
- Menu-Driven Programming
- Input Validation
- Exception Handling
- Program Flow Control
This project demonstrates:
- Clean and readable Python code
- Function-based architecture
- Proper code documentation
- Defensive programming
- Professional naming conventions
- Simple and maintainable project structure
- Beginner-friendly software design
Planned features for upcoming versions:
- JSON data storage
- SQLite database integration
- User registration
- Password hashing
- Money transfer between users
- Interest calculation
- Admin panel
- Logging system
- Object-Oriented Programming (OOP) version
- REST API using FastAPI
- User Authentication
- Deposit & Withdraw
- Balance Checking
- Transaction History
- CLI Menu System
- JSON Database
- Persistent Storage
- Improved Validation
- SQLite Database
- OOP Architecture
- Advanced Banking Features
Ariful Islam
Computer Science & Engineering Student
I am passionate about Python, Data Analysis, Machine Learning, and Artificial Intelligence. I enjoy building real-world projects to improve my programming, problem-solving, and software development skills.
GitHub: https://github.com/ariful3551
Contributions, suggestions, and feedback are always welcome.
If you would like to improve this project:
- Fork the repository.
- Create a new feature branch.
- Commit your changes.
- Push to your branch.
- Open a Pull Request.
This project is licensed under the MIT License.
You are free to use, modify, and distribute this project for educational and personal purposes. See the LICENSE file for more details.
Current Version: v1.0.0
Status: β Active
This project is part of my Python learning journey and will continue to evolve with new features and improvements.
If you found this project useful, please consider giving it a β Star on GitHub.
Your support motivates me to continue learning and building more open-source projects.
I am continuously working on new Python projects, including:
- β Mini Banking System
- β Scholarship Applicant Evaluation System
- β³ CPU Scheduling Simulator
- β³ Algorithm Visualizer
- β³ Smart Manufacturing Resource Planning System (SMRPS)
- π Data Analysis Projects
- π€ Machine Learning Projects
- π§ AI & LLM Engineering Projects
Stay tuned for more updates!



