How tenysone/python_banking-system works
This is a command-line multi-account banking system. A user selects customer/account operations, transactions, month-end processing, search, statements, or reports in main.py; BankManager applies operations and retains in-memory customer, account, and transaction state. Account subclasses enforce type-specific rules, Transaction captures outcomes, and reporting utilities aggregate manager data. The excerpts show the principal calls and report dispatch; no README documentation or persistent storage/integrations are present in the supplied evidence.
Main entry points: bank_manager.py Bank manager · main.py Menu and workflows · dummy_data.py Demo data loader · account.py Account rules
Components 12
Banking interface
- Menu and workflows
main.py - Demo data loader
dummy_data.py - Report display
main.py
Bank operations
- Bank manager
manager/bank_manager.py - Report dispatch
manager/bank_manager.py
Banking domain
- Customer records
models/customer.py - Account rules
models/account.py - Transaction records
models/transaction.py - Banking errors
exceptions.py
Statements and reports
- Account statements
manager/bank_manager.py - Report calculations
utils/reports.py
Other components
- Banking user
Connections 15
- Banking user → Menu and workflows: selects operations
main.py - Menu and workflows → Bank manager: requests banking actions
main.py - Menu and workflows → Demo data loader: loads demo records
main.py - Demo data loader → Bank manager: adds sample data
dummy_data.py - Bank manager → Customer records: stores and updates
manager/bank_manager.py - Bank manager → Account rules: opens and operates
manager/bank_manager.py - Bank manager → Transaction records: records outcomes
manager/bank_manager.py - Bank manager → Banking errors: raises banking errors
manager/bank_manager.py - Account rules → Banking errors: raises validation errors
models/account.py - Bank manager → Account statements: retrieves account history
manager/bank_manager.py - Menu and workflows → Account statements: requests statements
main.py - Menu and workflows → Report dispatch: requests reports
main.py - Report dispatch → Report calculations: dispatches calculations
manager/bank_manager.py - Report calculations → Report dispatch: returns report data
manager/bank_manager.py - Menu and workflows → Report display: renders report data
main.py