How pablonortiz/vehicle-manager works
Vehicle Manager is a cross-platform fleet-management app. A user works through Flutter screens and Riverpod state providers to manage vehicles and their related records; repositories persist data locally and synchronize with Supabase. Separate capabilities cover fuel and expenses, fleet reporting, OCR-assisted capture, notifications, and PDF export. The README documents these capabilities and the tree identifies their modules, but the sampled source does not include the Dart runtime wiring, so uncertain call relationships are omitted; arrows show only documented or clearly indicated interactions.
Main entry points: screens Fleet screens · providers State providers · sync_service.dart Offline sync · database.dart SQLite cache
Components 19
User experience
- Flutter app
lib/main.dart - Fleet screens
lib/presentation/screens - State providers
lib/presentation/providers
Fleet records
- Vehicle records
lib/data/repositories/vehicle_repository.dart - Related records
lib/data/repositories - Fuel and expenses
lib/data/repositories/fuel_charge_repository.dart - Change history
lib/domain/models/vehicle_history.dart
Persistence and sync
- SQLite cache
lib/data/database/database.dart - Offline sync
lib/data/services/sync_service.dart
Supporting capabilities
- Photo storage
lib/data/services/cloudinary_service.dart - OCR capture
lib/data/services/ocr_service.dart - PDF export
lib/data/services/pdf_service.dart - Fleet reports
lib/data/services/fleet_report_pdf.dart - Fuel analytics
lib/data/services/fuel_stats.dart - Notifications
lib/data/services/notification_service.dart
Other components
- Fleet manager
- Supabase
- Cloudinary
- Share and print
Connections 20
- Fleet manager → Flutter app: opens
- Flutter app → Fleet screens: routes to
- Fleet screens → State providers: reads and updates
- State providers → Vehicle records: requests vehicle data
- State providers → Related records: requests records
- State providers → Fuel and expenses: requests fuel data
- Vehicle records → SQLite cache: reads and writes
- Related records → SQLite cache: reads and writes
- Fuel and expenses → SQLite cache: reads and writes
- Offline sync → Supabase: syncs data
- Offline sync → SQLite cache: syncs cache
- Vehicle records → Offline sync: syncable data
- Related records → Offline sync: syncable data
- Photo storage → Cloudinary: uploads images
- Fleet screens → OCR capture: captures receipts
- Fleet screens → PDF export: exports vehicle PDF
- Fleet screens → Fleet reports: exports fleet PDF
- PDF export → Share and print: shares or prints
- Fuel and expenses → Fuel analytics: provides fuel data
- Fleet screens → Notifications: uses reminders