# vivekkumarmaht0/fixest architecture

> Architecture diagram of the GitHub repository vivekkumarmaht0/fixest, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/vivekkumarmaht0/fixest
- Repository: https://github.com/vivekkumarmaht0/fixest

## Overview

Fixest is a customer-facing doorstep gadget-repair booking site. Customers explore repair options and estimates, submit a service booking, and can separately authorize workshop pickup; the frontend posts bookings and pickup consent to an external API. Booking receipts are generated as PDFs in the browser. The README documents pincode coverage checks, pricing, comparisons, testimonials, and contact actions. Some page/component wiring is based on documented capabilities and the tree; unsampled implementations and backend behavior are not represented.

Main entry points: [`src/App.jsx`](https://github.com/vivekkumarmaht0/fixest/blob/main/src/App.jsx) (Routes), [`src/pages/Home.jsx`](https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/Home.jsx) (Home Page), [`src/pages/BookingPage.jsx`](https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/BookingPage.jsx) (Booking Form), [`src/pages/PickupConsentPage.jsx`](https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/PickupConsentPage.jsx) (Pickup Consent)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Application"]
  node_appentry["React Entry<br/>[main.jsx]"]
  node_router["Routes<br/>[App.jsx]"]
  node_home["Home Page<br/>[Home.jsx]"]
  node_nav["Navigation<br/>[Navbar.jsx]"]
  node_footer["Footer<br/>[Footer.jsx]"]
end

subgraph group_discovery["Service Discovery"]
  node_pricing["Repair Pricing<br/>[PricingSection.jsx]"]
  node_services["Repair Services<br/>[Services.jsx]"]
  node_coverage["Pincode Checker<br/>[PincodeChecker.jsx]"]
  node_comparison["Feature Comparison<br/>[WhyChooseUs.jsx]"]
  node_testimonials["Testimonials<br/>[Testimonials.jsx]"]
end

subgraph group_transactions["Booking &amp; Pickup"]
  node_booking["Booking Form<br/>[BookingPage.jsx]"]
  node_pickup["Pickup Consent"]
  node_api{{"Repair API"}}
  node_apiurl["API URL Helper<br/>[api.js]"]
  node_pdf["Receipt Generator<br/>[pdfGenerator.js]"]
end

subgraph group_information["Policies &amp; Support"]
  node_warranty["Warranty Page<br/>[WarrantyPage.jsx]"]
  node_privacy["Privacy Page"]
  node_terms["Terms Page"]
  node_consentdoc["Terms Content<br/>[TermsOfService.jsx]"]
end

node_customer(("Customer"))
node_browser(("Web Browser"))

node_customer -->|"uses"| node_browser
node_browser -->|"loads"| node_appentry
node_appentry -->|"renders"| node_router
node_router -->|"routes"| node_home
node_router -->|"routes"| node_booking
node_router -->|"routes"| node_pickup
node_router -->|"routes"| node_warranty
node_router -->|"routes"| node_privacy
node_router -->|"routes"| node_terms
node_home -->|"presents"| node_services
node_home -->|"presents"| node_pricing
node_home -->|"offers"| node_coverage
node_home -->|"presents"| node_comparison
node_home -->|"presents"| node_testimonials
node_services -->|"opens"| node_booking
node_pricing -->|"links"| node_booking
node_booking -->|"resolves endpoint"| node_apiurl
node_booking -->|"posts booking"| node_api
node_booking -->|"generates receipt"| node_pdf
node_pickup -->|"resolves endpoint"| node_apiurl
node_pickup -->|"posts consent"| node_api
node_terms -->|"renders"| node_consentdoc

click node_appentry "https://github.com/vivekkumarmaht0/fixest/blob/main/src/main.jsx"
click node_router "https://github.com/vivekkumarmaht0/fixest/blob/main/src/App.jsx"
click node_home "https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/Home.jsx"
click node_booking "https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/BookingPage.jsx"
click node_pickup "https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/PickupConsentPage.jsx"
click node_pricing "https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/PricingSection.jsx"
click node_services "https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/Services.jsx"
click node_coverage "https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/PincodeChecker.jsx"
click node_comparison "https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/WhyChooseUs.jsx"
click node_testimonials "https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/Testimonials.jsx"
click node_apiurl "https://github.com/vivekkumarmaht0/fixest/blob/main/src/lib/api.js"
click node_pdf "https://github.com/vivekkumarmaht0/fixest/blob/main/src/utils/pdfGenerator.js"
click node_warranty "https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/WarrantyPage.jsx"
click node_privacy "https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/PrivacyPolicyPage.jsx"
click node_terms "https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/TermsOfServicePage.jsx"
click node_consentdoc "https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/TermsOfService.jsx"
click node_nav "https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/Navbar.jsx"
click node_footer "https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/Footer.jsx"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_appentry,node_router,node_home,node_nav,node_footer,node_browser toneBlue
class node_pricing,node_services,node_coverage,node_comparison,node_testimonials toneAmber
class node_booking,node_pickup,node_api,node_apiurl,node_pdf toneMint
class node_warranty,node_privacy,node_terms,node_consentdoc toneRose
class node_customer toneIndigo
```

## Components

### Application

- [React Entry](https://github.com/vivekkumarmaht0/fixest/blob/main/src/main.jsx): `src/main.jsx`
- [Routes](https://github.com/vivekkumarmaht0/fixest/blob/main/src/App.jsx): `src/App.jsx`
- [Home Page](https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/Home.jsx): `src/pages/Home.jsx`
- [Navigation](https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/Navbar.jsx): `src/components/Navbar.jsx`
- [Footer](https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/Footer.jsx): `src/components/Footer.jsx`

### Service Discovery

- [Repair Pricing](https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/PricingSection.jsx): `src/components/PricingSection.jsx`
- [Repair Services](https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/Services.jsx): `src/components/Services.jsx`
- [Pincode Checker](https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/PincodeChecker.jsx): `src/components/PincodeChecker.jsx`
- [Feature Comparison](https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/WhyChooseUs.jsx): `src/components/WhyChooseUs.jsx`
- [Testimonials](https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/Testimonials.jsx): `src/components/Testimonials.jsx`

### Booking & Pickup

- [Booking Form](https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/BookingPage.jsx): `src/pages/BookingPage.jsx`
- [Pickup Consent](https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/PickupConsentPage.jsx): `src/pages/PickupConsentPage.jsx`
- **Repair API**
- [API URL Helper](https://github.com/vivekkumarmaht0/fixest/blob/main/src/lib/api.js): `src/lib/api.js`
- [Receipt Generator](https://github.com/vivekkumarmaht0/fixest/blob/main/src/utils/pdfGenerator.js): `src/utils/pdfGenerator.js`

### Policies & Support

- [Warranty Page](https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/WarrantyPage.jsx): `src/pages/WarrantyPage.jsx`
- [Privacy Page](https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/PrivacyPolicyPage.jsx): `src/pages/PrivacyPolicyPage.jsx`
- [Terms Page](https://github.com/vivekkumarmaht0/fixest/blob/main/src/pages/TermsOfServicePage.jsx): `src/pages/TermsOfServicePage.jsx`
- [Terms Content](https://github.com/vivekkumarmaht0/fixest/blob/main/src/components/TermsOfService.jsx): `src/components/TermsOfService.jsx`

### Other components

- **Customer**
- **Web Browser**

## Connections

- Customer → Web Browser: uses
- Web Browser → React Entry: loads
- React Entry → Routes: renders
- Routes → Home Page: routes
- Routes → Booking Form: routes
- Routes → Pickup Consent: routes
- Routes → Warranty Page: routes
- Routes → Privacy Page: routes
- Routes → Terms Page: routes
- Home Page → Repair Services: presents
- Home Page → Repair Pricing: presents
- Home Page → Pincode Checker: offers
- Home Page → Feature Comparison: presents
- Home Page → Testimonials: presents
- Repair Services → Booking Form: opens
- Repair Pricing → Booking Form: links
- Booking Form → API URL Helper: resolves endpoint
- Booking Form → Repair API: posts booking
- Booking Form → Receipt Generator: generates receipt
- Pickup Consent → API URL Helper: resolves endpoint
- Pickup Consent → Repair API: posts consent
- Terms Page → Terms Content: renders
