How vladdovhay/lab2-2026 works
This is a single-file Ukrainian personal-finance CLI, not a multi-service product. Its main workflow is a user selecting a menu action, entering validated values where needed, and receiving a calculation or transaction summary. The code covers spending analysis, loans, deposits, budgeting, price changes, currency conversion, and budget-based wishlist selection. Because excerpts omit some handler bodies, uncertain internal calls are not shown.
Main entry points: lab2.py Menu dispatcher
Components 15
CLI interface
- Menu dispatcher
src/lab2.py - Input validation
src/lab2.py
Finance calculations
- Loan payment
src/lab2.py - Compound deposit
src/lab2.py - Budget balance
src/lab2.py - Average expense
src/lab2.py - Price calculations
src/lab2.py
Spending and planning
- Transaction data
src/lab2.py - Wishlist data
src/lab2.py - Show transactions
src/lab2.py - Category totals
src/lab2.py - Convert expenses
src/lab2.py - Choose purchases
src/lab2.py - Apply conversion
src/lab2.py
Other components
- User
Connections 19
- User → Menu dispatcher: selects
- Menu dispatcher → Show transactions: dispatches
- Menu dispatcher → Loan payment: dispatches
- Menu dispatcher → Compound deposit: dispatches
- Menu dispatcher → Budget balance: dispatches
- Menu dispatcher → Average expense: dispatches
- Menu dispatcher → Category totals: dispatches
- Menu dispatcher → Convert expenses: dispatches
- Menu dispatcher → Price calculations: dispatches
- Menu dispatcher → Choose purchases: dispatches
- Show transactions → Transaction data: reads
- Choose purchases → Wishlist data: reads
- Convert expenses → Apply conversion: uses
- Loan payment → Input validation: reads via
- Compound deposit → Input validation: reads via
- Budget balance → Input validation: reads via
- Average expense → Input validation: reads via
- Price calculations → Input validation: reads via
- Choose purchases → Input validation: reads via