How arjuncodewave/instant_mechanic-booking-app works
Instant Mechanic is a SwiftUI mechanic-discovery and booking app backed by a FastAPI service. The documented user flow is to browse and search mechanics, inspect details, and proceed to a service request; the app fetches and displays mechanic data through its ViewModel. The backend exposes task/mechanic CRUD backed by SQLAlchemy. The booking screen shown in source navigates to a confirmation view, but no booking API is present in the sampled backend. Some view-to-view wiring is based on README descriptions rather than sampled view source.
Main entry points: ContentView.swift Browse screen · controller.py Mechanic operations · ProductViewModel.swift Product ViewModel · main.py FastAPI app
Components 20
iOS experience
- App entry
Instant_Mechanic/Instant_Mechanic/View/Instant_MechanicApp.swift - Browse screen
Instant_Mechanic/Instant_Mechanic/View/ContentView.swift - Search field
Instant_Mechanic/Instant_Mechanic/View/SearchTextField.swift - Mechanic card
Instant_Mechanic/Instant_Mechanic/View/CardView.swift - Mechanic details
Instant_Mechanic/Instant_Mechanic/View/DetailView.swift - Service request
Instant_Mechanic/Instant_Mechanic/View/Requestservices.swift - Booking confirmation
Instant_Mechanic/Instant_Mechanic/View/CongatulationView.swift
iOS data
- Product ViewModel
Instant_Mechanic/Instant_Mechanic/ViewModel/ProductViewModel.swift - Product filter
Instant_Mechanic/Instant_Mechanic/ViewModel/Filter.swift - API client
Instant_Mechanic/Instant_Mechanic/Model/ProductDataService.swift - Mechanic model
Instant_Mechanic/Instant_Mechanic/Model/Model.swift
Backend API
- FastAPI app
Backend/main.py - Mechanic routes
Backend/src/tasks/router.py - Mechanic operations
Backend/src/tasks/controller.py - Mechanic schema
Backend/src/tasks/dtos.py
Backend storage
- Mechanic record
Backend/src/tasks/models.py - Database session
Backend/src/utils/db.py - Mechanic database
Other components
- Mechanic seeker
- Mechanic REST API
Connections 20
- Mechanic seeker → App entry: uses
- App entry → Browse screen: opens
- Browse screen → Product ViewModel: displays data
- Browse screen → Search field: offers search
- Product ViewModel → Product filter: filters mechanics
- Browse screen → Mechanic card: shows results
- Mechanic card → Mechanic details: opens details
- Mechanic details → Service request: starts request
- Service request → Booking confirmation: navigates
- Product ViewModel → API client: fetches data
- API client → Mechanic REST API: requests mechanics
- Mechanic REST API → FastAPI app: HTTP request
- FastAPI app → Mechanic routes: mounts routes
- Mechanic routes → Mechanic operations: dispatches
- Mechanic routes → Mechanic schema: validates body
- Mechanic operations → Mechanic record: queries records
- Mechanic operations → Database session: uses session
- Database session → Mechanic database: connects
- Mechanic operations → Mechanic database: reads and writes
- FastAPI app → Mechanic database: creates tables