How robinkihiko/energyvictory works
Fuel Flow Pro is a browser-based petrol-station management app. Staff sign in, then use protected pages to record sales and manage station operations; managers review dashboards and reports, export results, and reconcile activity. The source index confirms Supabase-backed pages and offline-sync support, while the excerpts show route protection, authentication, sales receipt wiring, and report exports. The README describes M-Pesa and other capabilities, but the sampled tree contains no payment integration implementation, so those flows are not represented as verified runtime connections.
Main entry points: App.tsx Application routes · client.ts Supabase client · Sales.tsx Sales entry · Reports.tsx Reports
Components 22
Access and navigation
- Application routes
src/App.tsx - Authentication
src/hooks/useAuth.tsx - Sign in
src/pages/Login.tsx - User administration
src/pages/Users.tsx
Station operations
- Sales entry
src/pages/Sales.tsx - Sale receipt
src/components/SaleReceipt.tsx - Fuel management
src/pages/FuelManagement.tsx - Pump management
src/pages/Pumps.tsx - Tank management
src/pages/Tanks.tsx - Expenses
src/pages/Expenses.tsx - Branches
src/pages/Branches.tsx - Payroll
src/pages/Payroll.tsx
Reporting and controls
- Dashboard
src/pages/Dashboard.tsx - Reports
src/pages/Reports.tsx - Report exporters
src/lib/exporters.ts - Reconciliation
src/pages/Reconciliation.tsx - Sale reversals
src/components/SaleReversalsPanel.tsx
Data and resilience
- Offline sync
src/hooks/useOfflineSync.tsx - Offline queue
src/lib/offlineQueue.ts - Supabase service
- Supabase client
src/integrations/supabase/client.ts
Other components
- Station staff
Connections 33
- Station staff → Application routes: uses
- Application routes → Authentication: provides auth
src/App.tsx - Application routes → Sign in: routes to
src/App.tsx - Application routes → Dashboard: routes to
src/App.tsx - Application routes → Sales entry: routes to
src/App.tsx - Application routes → Fuel management: routes to
src/App.tsx - Application routes → Expenses: routes to
src/App.tsx - Application routes → Reports: routes to
src/App.tsx - Application routes → User administration: routes to
src/App.tsx - Application routes → Payroll: routes to
src/App.tsx - Application routes → Branches: routes to
src/App.tsx - Application routes → Pump management: routes to
src/App.tsx - Application routes → Tank management: routes to
src/App.tsx - Application routes → Reconciliation: routes to
src/App.tsx - Authentication → Supabase client: reads auth and roles
src/hooks/useAuth.tsx - Sales entry → Supabase client: reads and writes
src/pages/Sales.tsx - Sales entry → Sale receipt: renders
src/pages/Sales.tsx - Sales entry → Offline sync: uses sync
src/pages/Sales.tsx - Offline sync → Offline queue: uses queue
src/hooks/useOfflineSync.tsx - Offline sync → Supabase client: syncs data
src/hooks/useOfflineSync.tsx - Dashboard → Supabase client: reads metrics
src/pages/Dashboard.tsx - Reports → Supabase client: queries reports
src/pages/Reports.tsx - Reports → Report exporters: exports results
src/pages/Reports.tsx - Reports → Sale reversals: renders panel
src/pages/Reports.tsx - Supabase client → Supabase service: connects to
src/integrations/supabase/client.ts - Fuel management → Supabase client: uses data service
- Pump management → Supabase client: uses data service
src/pages/Pumps.tsx - Tank management → Supabase client: uses data service
src/pages/Tanks.tsx - Expenses → Supabase client: uses data service
- Branches → Supabase client: uses data service
src/pages/Branches.tsx - Payroll → Supabase client: uses data service
- User administration → Supabase client: uses data service
src/pages/Users.tsx - Reconciliation → Supabase client: uses data service