How rakesh-hb/evtoolkit works
EV Toolkit is a React application for managing electric-vehicle ownership records. Users enter through authentication and navigation, choose vehicles, maintain service, insurance, charging, tyre, and document records, then review analytics or manage account and backup settings. The graph preserves these major feature areas from the source index; the README is only the Vite template and does not document product capabilities. Several page and service connections are supported by the source index rather than inspected implementation excerpts.
Main entry points: supabase.ts Supabase client · subscriptionService.ts Plan and limits · App.tsx Application router · ServiceHistory.tsx Service history
Components 24
App and identity
- Application router
src/App.tsx - Authentication state
src/context/AuthContext.tsx
Vehicle setup
- Primary vehicle context
src/context/PrimaryVehicleContext.tsx - Vehicle catalogue
src/data/vehicles/index.ts - Vehicle preferences
src/services/primaryVehicleService.ts - Custom vehicles
src/services/customVehicleService.ts
Ownership records
- Service history
src/pages/ServiceHistory.tsx - Service records
src/services/serviceHistoryService.ts - Insurance records
src/pages/Insurance.tsx - Insurance records API
src/services/insuranceService.ts - Charging tracker
src/pages/Tracker.tsx - Charging sessions
src/services/chargingService.ts - Document vault
src/pages/DocumentVault.tsx - Tyre history
src/pages/TyreHistory.tsx - Receipt attachments
src/services/attachmentService.ts - Form drafts
src/services/formDraftService.ts
Reports and analytics
- Analytics
src/pages/Analytics.tsx - Report generation
src/reports/ReportGenerator.ts - Report controls
src/components/reports/ReportToolbar.tsx
Account and data
- Supabase client
src/lib/supabase.ts - Settings
src/pages/Settings.tsx - Backup and restore
src/services/backupService.ts - Plan and limits
src/services/subscriptionService.ts
Other components
- EV owner
Connections 41
- EV owner → Application router: uses
- Application router → Authentication state: reads state
src/App.tsx - Application router → Service history: routes to
src/App.tsx - Application router → Insurance records: routes to
src/App.tsx - Application router → Charging tracker: routes to
src/App.tsx - Application router → Analytics: routes to
src/App.tsx - Primary vehicle context → Authentication state: reads session
src/context/PrimaryVehicleContext.tsx - Primary vehicle context → Vehicle preferences: loads and saves
src/context/PrimaryVehicleContext.tsx - Service history → Service records: manages records
src/pages/ServiceHistory.tsx - Service history → Primary vehicle context: uses vehicle
src/pages/ServiceHistory.tsx - Service history → Form drafts: saves drafts
src/pages/ServiceHistory.tsx - Service history → Receipt attachments: downloads files
src/pages/ServiceHistory.tsx - Service history → Plan and limits: checks limits
src/pages/ServiceHistory.tsx - Insurance records → Insurance records API: manages records
src/pages/Insurance.tsx - Insurance records → Vehicle catalogue: uses catalogue
src/pages/Insurance.tsx - Insurance records → Custom vehicles: uses custom vehicles
src/pages/Insurance.tsx - Insurance records → Receipt attachments: uses attachments
src/pages/Insurance.tsx - Insurance records → Plan and limits: checks plan
src/pages/Insurance.tsx - Charging tracker → Charging sessions: manages sessions
src/pages/Tracker.tsx - Charging tracker → Primary vehicle context: uses vehicle
src/pages/Tracker.tsx - Charging tracker → Vehicle catalogue: uses catalogue
src/pages/Tracker.tsx - Charging tracker → Receipt attachments: uses attachments
src/pages/Tracker.tsx - Document vault → Plan and limits: plan limits
- Tyre history → Plan and limits: plan limits
- Analytics → Report controls: renders controls
src/pages/Analytics.tsx - Analytics → Plan and limits: checks plan
src/pages/Analytics.tsx - Report controls → Supabase client: uses client
src/components/reports/ReportToolbar.tsx - Settings → Backup and restore: backs up and restores
src/pages/Settings.tsx - Settings → Custom vehicles: manages vehicles
src/pages/Settings.tsx - Settings → Plan and limits: checks plan
src/pages/Settings.tsx - Backup and restore → Charging sessions: collects sessions
src/services/backupService.ts - Backup and restore → Service records: collects records
src/services/backupService.ts - Backup and restore → Insurance records API: collects records
src/services/backupService.ts - Backup and restore → Supabase client: restores data
src/services/backupService.ts - Service records → Supabase client: accesses data
src/services/serviceHistoryService.ts - Insurance records API → Supabase client: accesses data
- Charging sessions → Supabase client: accesses data
src/services/chargingService.ts - Vehicle preferences → Supabase client: accesses data
src/services/primaryVehicleService.ts - Custom vehicles → Supabase client: accesses data
src/services/customVehicleService.ts - Plan and limits → Supabase client: checks subscription
src/services/subscriptionService.ts - Report generation → Analytics: supports reports