How eashangallage/dimeview works
DimeView is a desktop finance tracker for trucking owner-operators. The principal workflow is to select a Google spreadsheet, enter load or expense transactions, and review filtered reports or export them. The README also documents schema migration, state/city routing, split calculations, multiple assets, trash-sheet recovery, and branded PDF and CSV exports. The graph maps these capabilities to the sampled GUI, controller, and model; several subsystems share the large model.py implementation. Some feature links rely on README descriptions because their implementation was not excerpted.
Main entry points: controller.py Interaction controller · model.py Google Sheets data · view.py Desktop windows · main.py App startup
Components 17
Desktop interface
- App startup
src/dimeview/main.py - Desktop windows
src/dimeview/view.py - Interaction controller
src/dimeview/controller.py
Finance workflow
- Transaction entry
src/dimeview/controller.py - State and city routing
src/dimeview/model.py - Payment splits
src/dimeview/model.py - Driver and truck assets
src/dimeview/model.py
Sheets and data
- Google Sheets data
src/dimeview/model.py - Google Drive service
- Local data cache
src/dimeview/model.py - Sheet migration
src/dimeview/model.py - Trash recovery
src/dimeview/model.py
Reports and exports
- Filtered reports
src/dimeview/controller.py - Report calculations
src/dimeview/model.py - PDF reports
src/dimeview/model.py - CSV export
src/dimeview/view.py
Other components
- Owner-operator
Connections 19
- Owner-operator → Desktop windows: uses
README.md - App startup → Interaction controller: creates
src/dimeview/main.py - App startup → Desktop windows: starts
- Interaction controller → Desktop windows: updates
src/dimeview/controller.py - Interaction controller → Google Sheets data: requests data
src/dimeview/controller.py - Interaction controller → Transaction entry: handles submission
src/dimeview/controller.py - Transaction entry → Google Sheets data: saves transactions
src/dimeview/controller.py - Google Sheets data → Google Drive service: uses API
- Google Sheets data → Local data cache: loads rows
src/dimeview/model.py - Interaction controller → Sheet migration: starts migration
src/dimeview/controller.py - Interaction controller → Filtered reports: requests reports
src/dimeview/controller.py - Filtered reports → Report calculations: gets report data
src/dimeview/controller.py - Report calculations → Google Sheets data: reads entries
src/dimeview/model.py - Filtered reports → PDF reports: exports PDF
src/dimeview/controller.py - Filtered reports → CSV export: exports CSV
src/dimeview/controller.py - Transaction entry → State and city routing: uses location fields
src/dimeview/controller.py - Transaction entry → Payment splits: calculates splits
src/dimeview/controller.py - Transaction entry → Driver and truck assets: associates assets
src/dimeview/controller.py - Google Sheets data → Trash recovery: supports recovery
src/dimeview/model.py