Banking CLI App
Overview:
A Python command-line banking application built from the ground up to demonstrate advanced backend engineering principles. The project covers the full Python stack from OOP fundamentals through to advanced patterns, concurrency, and testing, all applied to a realistic banking domain.
Tech Stack:
Language: Python 3.14 | Testing: pytest | Serialization: JSON | Concurrency: asyncio
Key Features:
Create savings and current accounts with full input validation | Deposit, withdraw and transfer funds | Pluggable interest strategies (Simple or Compound) | Automatic email and SMS notifications on transactions | Persistent storage via JSON | Configurable transaction logging with log levels | Full pytest test suite with fixtures and mocking
Concepts Demonstrated:
Metaclass | Descriptors | Decorator Factory | Observer Pattern | Strategy Pattern | Mixin | Abstract Base Class | Asyncio | Type Hints | pytest Fixtures | Mocking | OOP | Inheritance | Encapsulation | Generators | Context Managers | Regex Validation | JSON Serialization