How dasrohit15/fixxmate works
FixxMate presents vehicle-service discovery and repair requests for vehicle owners and mechanics. The visible request workflow starts in the web UI, submits a service request through the API client, and uses backend request handling and Mongo models; mechanics can review requests and users can track theirs. Authentication, OTP, and map assistance are separate capabilities. The README also advertises scheduling, inventory, repair history, and analytics, but the provided excerpts do not establish implementations for those features, so they are not expanded into speculative components. Evidence is limited to the README and indexed or excerpted sources.
Main entry points: AppRoutes.tsx Page routing · server.js HTTP API server · api.ts API client · RequestService.tsx Request service form
Components 22
Web application
- Application shell
frontend/src/App.tsx - Page routing
frontend/src/AppRoutes.tsx - Landing experience
frontend/src/pages/Landing.tsx - Account navigation
frontend/src/components/Navbar.tsx
Identity and accounts
- Login and signup
frontend/src/pages/Signup.tsx - Session state
frontend/src/contexts/AuthContext.tsx - Protected routes
frontend/src/components/ProtectedRoute.tsx - OTP records
backend/models/Otp.js - SMTP email service
Service requests
- API client
frontend/src/services/api.ts - Request service form
frontend/src/pages/RequestService.tsx - Available requests
frontend/src/pages/Requests.tsx - My requests
frontend/src/pages/MyRequests.tsx
Location services
- Map endpoints
backend/routes/map.routes.js - Map controller
backend/controller/map.controller.js - Geocoding and routing
backend/services/map.services.js - Google Maps APIs
Backend and persistence
- HTTP API server
backend/server.js - Repair request records
backend/models/Request.js - User records
backend/models/User.js - Mechanic records
backend/models/Mechanic.js
Other components
- Vehicle owner / mechanic
Connections 27
- Vehicle owner / mechanic → Page routing: opens app
frontend/src/AppRoutes.tsx - Application shell → Page routing: renders
frontend/src/App.tsx - Page routing → Landing experience: routes to
frontend/src/AppRoutes.tsx - Page routing → Login and signup: routes to
frontend/src/AppRoutes.tsx - Page routing → Request service form: routes to
frontend/src/AppRoutes.tsx - Page routing → Available requests: routes to
frontend/src/AppRoutes.tsx - Page routing → My requests: routes to
frontend/src/AppRoutes.tsx - Page routing → Protected routes: protects pages
frontend/src/AppRoutes.tsx - Login and signup → API client: calls
frontend/src/services/api.ts - Session state → Vehicle owner / mechanic: stores session
frontend/src/contexts/AuthContext.tsx - Protected routes → Session state: checks session
frontend/src/components/ProtectedRoute.tsx - Request service form → API client: submits request
frontend/src/pages/RequestService.tsx - Available requests → API client: loads requests
frontend/src/services/api.ts - My requests → API client: loads own requests
frontend/src/services/api.ts - Account navigation → Session state: reads session
frontend/src/components/Navbar.tsx - API client → HTTP API server: HTTP requests
frontend/src/services/api.ts - HTTP API server → Repair request records: queries requests
backend/server.js - HTTP API server → User records: queries accounts
backend/server.js - HTTP API server → Mechanic records: queries mechanics
backend/server.js - HTTP API server → OTP records: verifies OTP
backend/server.js - HTTP API server → SMTP email service: sends OTP
backend/server.js - HTTP API server → Map endpoints: mounts endpoints
backend/server.js - Map endpoints → Map controller: dispatches
backend/routes/map.routes.js - Map controller → Geocoding and routing: calls mapping
backend/controller/map.controller.js - Map controller → Repair request records: reads destination
backend/controller/map.controller.js - Geocoding and routing → Google Maps APIs: requests map data
backend/services/map.services.js - Request service form → Map endpoints: fetches suggestions
frontend/src/pages/RequestService.tsx