How nilan92/mazdabuddy works
AutoPulse is a mobile-first workshop management app. Workshop staff authenticate and enter a tenant-scoped workspace to manage vehicles, jobs, parts, invoices, and finances; technicians track assigned work and customers receive status updates and invoices. The README documents offline caching, plate scanning, automatic completion invoicing, stock deduction, SMS, and push notifications. Source excerpts confirm app routing, authentication, persisted query state, technician-progress queries, job-detail integrations, and photo-upload authorization; wiring among unsampled feature screens is shown only where documented.
Main entry points: supabase.ts Workshop data · App.tsx App router · Layout.tsx Workspace layout · JobDetails.tsx Job details
Components 25
Access and workspace
- App router
src/App.tsx - Authentication
src/context/AuthContext.tsx - Workshop onboarding
src/components/Onboarding.tsx - Workspace layout
src/components/Layout.tsx
Workshop operations
- Job board
src/components/Jobs.tsx - Job details
src/components/JobDetails.tsx - Plate scan
src/components/SmartScan.tsx - Parts inventory
src/components/Inventory.tsx - Technician progress
src/hooks/useTechnicianProgress.ts
Business records
- Customer records
src/components/Customers.tsx - Invoices and PDFs
src/components/Invoices.tsx - Financial reporting
src/components/Finances.tsx
Shared services
- Workshop data
src/lib/supabase.ts - Persisted query cache
src/main.tsx - Finance calculations
src/lib/finance.ts - Job photo client
src/lib/photos.ts - Photo upload authorizer
worker/src/index.ts
External integrations
- Photo object storage
- SMS service
src/lib/sms.ts - Push notifications
src/lib/push.ts - Service worker
public/sw.js - AI diagnosis
src/lib/ai.ts - text.lk
Other components
- Workshop staff
- Camera and browser
Connections 33
- Workshop staff → App router: opens
- App router → Authentication: checks session
- App router → Workshop onboarding: routes new users
- App router → Workspace layout: renders workspace
- Authentication → Workshop data: authenticates
- Authentication → Workshop data: loads profile
- Workshop onboarding → Workshop data: creates workshop
- Workspace layout → Job board: navigates
- Workspace layout → Customer records: navigates
- Workspace layout → Parts inventory: navigates
- Workspace layout → Invoices and PDFs: navigates
- Workspace layout → Financial reporting: navigates
- Workshop staff → Plate scan: scans plate
- Camera and browser → Plate scan: provides camera
- Job board → Workshop data: reads and writes
- Job details → Workshop data: reads and writes
- Customer records → Workshop data: reads and writes
- Parts inventory → Workshop data: reads and writes
- Invoices and PDFs → Workshop data: reads and writes
- Financial reporting → Workshop data: reads records
- Financial reporting → Finance calculations: calculates reports
- Technician progress → Workshop data: queries staff and jobs
- Job details → SMS service: sends customer SMS
- SMS service → text.lk: delivers messages
- Job details → AI diagnosis: requests diagnosis
- Job details → Job photo client: uploads photos
- Job photo client → Photo upload authorizer: requests authorization
- Photo upload authorizer → Workshop data: checks tenant and job
- Photo upload authorizer → Photo object storage: stores photos
- App router → Push notifications: registers worker
- Push notifications → Service worker: registers
- Service worker → Workshop staff: shows push alerts
- App router → Persisted query cache: persists query data