# nagarjuna-druvo/leads-newversion-frontend architecture

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

- Interactive diagram: https://gitdiagram.com/nagarjuna-druvo/leads-newversion-frontend
- Repository: https://github.com/nagarjuna-druvo/leads-newversion-frontend

## Overview

This is a React-based ERP frontend, with sales and operational workflows spanning leads, enquiries, quotations, orders, invoices and payments, alongside customer, visit, parts and administration areas. Users enter through the authenticated app and navigate permission-guarded routes to domain pages. The sampled code confirms opportunity fetching through a hook and API client, plus service calls from the pipeline; the tree shows additional domain modules whose internal wiring was not sampled. The diagram omits uncertain page-to-page transitions and backend endpoint details.

Main entry points: [`src/utils/api.js`](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/utils/api.js) (API client), [`src/App.jsx`](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/App.jsx) (App shell), [`src/routes/AppRoutes.jsx`](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/routes/AppRoutes.jsx) (Protected routes), [`src/pages/pipeline/Pipeline.jsx`](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/pipeline/Pipeline.jsx) (Lead pipeline)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shell["App and access"]
  node_app["App shell<br/>[App.jsx]"]
  node_auth["Auth context<br/>[AuthContext.jsx]"]
  node_routes["Protected routes<br/>[AppRoutes.jsx]"]
end

subgraph group_sales["Sales workflow"]
  node_pipeline["Lead pipeline<br/>[Pipeline.jsx]"]
  node_opportunities["Opportunity hook"]
  node_enquiries["Enquiry management"]
  node_measurements["Door measurements"]
  node_quotes["Quotation management<br/>[QuoteList.jsx]"]
  node_quote_preview["Quote preview<br/>[QuotePreview.jsx]"]
  node_quote_pipeline["Quote pipeline<br/>[QuotesPipeline.jsx]"]
end

subgraph group_fulfillment["Order and billing"]
  node_orders["Order management<br/>[OrdersView.jsx]"]
  node_invoices["Invoice management<br/>[InvoiceView.jsx]"]
  node_payments["Payments and balances<br/>[PaymentsMain.jsx]"]
end

subgraph group_operations["Operational records"]
  node_customers["Customer records<br/>[CustomerList.jsx]"]
  node_visits["Sales visits<br/>[SalesView.jsx]"]
  node_parts["Parts management<br/>[PartsView.jsx]"]
  node_masters["Masters and permissions"]
end

subgraph group_shared["Shared data access"]
  node_system_services["ERP services<br/>[systemServices.js]"]
  node_api["API client<br/>[api.js]"]
end

node_user(("ERP user"))
node_backend[("ERP backend")]

node_user -->|"uses"| node_app
node_app -->|"provides auth"| node_auth
node_app -->|"renders routes"| node_routes
node_routes -->|"dispatches"| node_enquiries
node_routes -->|"dispatches"| node_orders
node_pipeline -->|"fetches opportunities"| node_opportunities
node_opportunities -->|"requests data"| node_api
node_pipeline -->|"creates follow-up"| node_system_services
node_quote_pipeline -->|"loads pipeline"| node_api
node_system_services -->|"sends requests"| node_api
node_api -->|"exchanges data"| node_backend

click node_app "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/App.jsx"
click node_auth "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/contexts/AuthContext.jsx"
click node_routes "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/routes/AppRoutes.jsx"
click node_pipeline "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/pipeline/Pipeline.jsx"
click node_opportunities "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/hooks/useOpportunities.js"
click node_enquiries "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/enquiry/EnquiryManagement.jsx"
click node_measurements "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/enquiry/EnqueryMeasurementsEmp.jsx"
click node_quotes "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/quotes/QuoteList.jsx"
click node_quote_preview "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/quotes/QuotePreview.jsx"
click node_quote_pipeline "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/pipeline/QuotesPipeline.jsx"
click node_orders "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/orders/OrdersView.jsx"
click node_invoices "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/invoices/InvoiceView.jsx"
click node_payments "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/payments/PaymentsMain.jsx"
click node_customers "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/customers/CustomerList.jsx"
click node_visits "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/visits/SalesView.jsx"
click node_parts "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/partsManagement/PartsView.jsx"
click node_masters "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/masters/MastersDashboard.jsx"
click node_system_services "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/services/systemServices.js"
click node_api "https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/utils/api.js"

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_app,node_auth,node_routes,node_user toneBlue
class node_pipeline,node_opportunities,node_enquiries,node_measurements,node_quotes,node_quote_preview,node_quote_pipeline,node_backend toneAmber
class node_orders,node_invoices,node_payments toneMint
class node_customers,node_visits,node_parts,node_masters toneRose
class node_system_services,node_api toneIndigo
```

## Components

### App and access

- [App shell](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/App.jsx): `src/App.jsx`
- [Auth context](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/contexts/AuthContext.jsx): `src/contexts/AuthContext.jsx`
- [Protected routes](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/routes/AppRoutes.jsx): `src/routes/AppRoutes.jsx`

### Sales workflow

- [Lead pipeline](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/pipeline/Pipeline.jsx): `src/pages/pipeline/Pipeline.jsx`
- [Opportunity hook](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/hooks/useOpportunities.js): `src/hooks/useOpportunities.js`
- [Enquiry management](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/enquiry/EnquiryManagement.jsx): `src/pages/enquiry/EnquiryManagement.jsx`
- [Door measurements](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/enquiry/EnqueryMeasurementsEmp.jsx): `src/pages/enquiry/EnqueryMeasurementsEmp.jsx`
- [Quotation management](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/quotes/QuoteList.jsx): `src/pages/quotes/QuoteList.jsx`
- [Quote preview](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/quotes/QuotePreview.jsx): `src/pages/quotes/QuotePreview.jsx`
- [Quote pipeline](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/pipeline/QuotesPipeline.jsx): `src/pages/pipeline/QuotesPipeline.jsx`

### Order and billing

- [Order management](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/orders/OrdersView.jsx): `src/pages/orders/OrdersView.jsx`
- [Invoice management](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/invoices/InvoiceView.jsx): `src/pages/invoices/InvoiceView.jsx`
- [Payments and balances](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/payments/PaymentsMain.jsx): `src/pages/payments/PaymentsMain.jsx`

### Operational records

- [Customer records](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/customers/CustomerList.jsx): `src/pages/customers/CustomerList.jsx`
- [Sales visits](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/visits/SalesView.jsx): `src/pages/visits/SalesView.jsx`
- [Parts management](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/partsManagement/PartsView.jsx): `src/pages/partsManagement/PartsView.jsx`
- [Masters and permissions](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/pages/masters/MastersDashboard.jsx): `src/pages/masters/MastersDashboard.jsx`

### Shared data access

- [ERP services](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/services/systemServices.js): `src/services/systemServices.js`
- [API client](https://github.com/nagarjuna-druvo/leads-newversion-frontend/blob/main/src/utils/api.js): `src/utils/api.js`

### Other components

- **ERP user**
- **ERP backend**

## Connections

- ERP user → App shell: uses
- App shell → Auth context: provides auth
- App shell → Protected routes: renders routes
- Protected routes → Enquiry management: dispatches
- Protected routes → Order management: dispatches
- Lead pipeline → Opportunity hook: fetches opportunities
- Opportunity hook → API client: requests data
- Lead pipeline → ERP services: creates follow-up
- Quote pipeline → API client: loads pipeline
- ERP services → API client: sends requests
- API client → ERP backend: exchanges data
