# pimpaleharshad99-prog/flowpeople2.0 architecture

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

- Interactive diagram: https://gitdiagram.com/pimpaleharshad99-prog/flowpeople2.0
- Repository: https://github.com/pimpaleharshad99-prog/flowpeople2.0

## Overview

Flowpeople is a public-facing site for an HR attendance product, with a lead-capture workflow and a separate admin console. Visitors browse product, pricing, and company information, then submit an inquiry; admins sign in to review and manage leads. The repository also includes dedicated GPS and biometric attendance product pages, but the supplied source shows them as informational experiences, not attendance-processing implementations. The graph follows the visible routing, lead service, API, authentication, and MongoDB boundaries; some client-to-API links are inferred from matching HTTP paths and are marked unverified.

Main entry points: [`src/App.jsx`](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/App.jsx) (Route shell), [`src/services/leadService.ts`](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/services/leadService.ts) (Lead service), [`server/apiRouter.js`](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/server/apiRouter.js) (API routes), [`server/mongo.js`](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/server/mongo.js) (MongoDB access)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Website and product pages"]
  node_app["Route shell<br/>[App.jsx]"]
  node_landing["Landing hub<br/>[LandingHubPage.jsx]"]
  node_lightfall["Hero visual<br/>[Lightfall.jsx]"]
  node_gps["GPS attendance"]
  node_biometric["Biometric attendance"]
  node_features["Features and guidance<br/>[FeaturesPage.tsx]"]
  node_pricing["Pricing<br/>[PricingPage.tsx]"]
  node_company["Company information<br/>[AboutPage.tsx]"]
  node_other_pages["Help and legal pages"]
end

subgraph group_leads["Lead capture and admin"]
  node_lead_service["Lead service<br/>[leadService.ts]"]
  node_contact["Contact inquiry<br/>[ContactPage.tsx]"]
  node_admin["Lead admin<br/>[AdminPage.tsx]"]
  node_admin_auth["Admin auth client<br/>[adminAuth.ts]"]
end

subgraph group_backend["API and authentication"]
  node_api_entry["API entry<br/>[index.js]"]
  node_api_router["API routes<br/>[apiRouter.js]"]
  node_auth["Session and passwords<br/>[auth.js]"]
end

subgraph group_data["Persistence"]
  node_mongo["MongoDB access<br/>[mongo.js]"]
  node_mongo_db[("MongoDB")]
end

node_visitor(("Visitor"))

node_visitor -->|"opens site"| node_app
node_app -->|"routes to"| node_landing
node_app -->|"routes to"| node_gps
node_app -->|"routes to"| node_biometric
node_app -->|"routes to"| node_pricing
node_app -->|"routes to"| node_company
node_app -->|"routes to"| node_other_pages
node_landing -->|"renders"| node_lightfall
node_contact -->|"submits inquiries"| node_lead_service
node_pricing -->|"uses for inquiries"| node_lead_service
node_company -->|"uses for inquiries"| node_lead_service
node_admin -->|"manages leads"| node_lead_service
node_admin -->|"uses auth client"| node_admin_auth
node_lead_service -.->|"calls lead API"| node_api_router
node_lead_service -.->|"checks health API"| node_mongo
node_api_entry -->|"delegates requests"| node_api_router
node_api_router -->|"creates and validates sessions"| node_auth
node_api_router -->|"reads and updates leads"| node_mongo
node_auth -->|"uses database"| node_mongo
node_mongo -->|"reads and writes"| node_mongo_db

click node_app "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/App.jsx"
click node_landing "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/LandingHubPage.jsx"
click node_lightfall "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/components/Lightfall.jsx"
click node_gps "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/GpsAttendancePage.jsx"
click node_biometric "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/BiometricAttendancePage.jsx"
click node_features "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/FeaturesPage.tsx"
click node_pricing "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/PricingPage.tsx"
click node_company "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/AboutPage.tsx"
click node_other_pages "https://github.com/pimpaleharshad99-prog/flowpeople2.0/tree/main/src/pages"
click node_lead_service "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/services/leadService.ts"
click node_contact "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/ContactPage.tsx"
click node_admin "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/AdminPage.tsx"
click node_admin_auth "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/lib/adminAuth.ts"
click node_api_entry "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/api/index.js"
click node_api_router "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/server/apiRouter.js"
click node_auth "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/server/auth.js"
click node_mongo "https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/server/mongo.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_landing,node_lightfall,node_gps,node_biometric,node_features,node_pricing,node_company,node_other_pages toneBlue
class node_lead_service,node_contact,node_admin,node_admin_auth toneAmber
class node_api_entry,node_api_router,node_auth toneMint
class node_mongo,node_mongo_db toneRose
class node_visitor toneIndigo
```

## Components

### Website and product pages

- [Route shell](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/App.jsx): `src/App.jsx`
- [Landing hub](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/LandingHubPage.jsx): `src/pages/LandingHubPage.jsx`
- [Hero visual](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/components/Lightfall.jsx): `src/components/Lightfall.jsx`
- [GPS attendance](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/GpsAttendancePage.jsx): `src/pages/GpsAttendancePage.jsx`
- [Biometric attendance](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/BiometricAttendancePage.jsx): `src/pages/BiometricAttendancePage.jsx`
- [Features and guidance](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/FeaturesPage.tsx): `src/pages/FeaturesPage.tsx`
- [Pricing](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/PricingPage.tsx): `src/pages/PricingPage.tsx`
- [Company information](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/AboutPage.tsx): `src/pages/AboutPage.tsx`
- [Help and legal pages](https://github.com/pimpaleharshad99-prog/flowpeople2.0/tree/main/src/pages): `src/pages`

### Lead capture and admin

- [Lead service](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/services/leadService.ts): `src/services/leadService.ts`
- [Contact inquiry](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/ContactPage.tsx): `src/pages/ContactPage.tsx`
- [Lead admin](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/pages/AdminPage.tsx): `src/pages/AdminPage.tsx`
- [Admin auth client](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/src/lib/adminAuth.ts): `src/lib/adminAuth.ts`

### API and authentication

- [API entry](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/api/index.js): `api/index.js`
- [API routes](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/server/apiRouter.js): `server/apiRouter.js`
- [Session and passwords](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/server/auth.js): `server/auth.js`

### Persistence

- [MongoDB access](https://github.com/pimpaleharshad99-prog/flowpeople2.0/blob/main/server/mongo.js): `server/mongo.js`
- **MongoDB**

### Other components

- **Visitor**

## Connections

- Visitor → Route shell: opens site (evidence: `src/App.jsx`)
- Route shell → Landing hub: routes to (evidence: `src/App.jsx`)
- Route shell → GPS attendance: routes to (evidence: `src/App.jsx`)
- Route shell → Biometric attendance: routes to (evidence: `src/App.jsx`)
- Route shell → Pricing: routes to (evidence: `src/App.jsx`)
- Route shell → Company information: routes to (evidence: `src/App.jsx`)
- Route shell → Help and legal pages: routes to (evidence: `src/App.jsx`)
- Landing hub → Hero visual: renders (evidence: `src/pages/LandingHubPage.jsx`)
- Contact inquiry → Lead service: submits inquiries (evidence: `src/pages/ContactPage.tsx`)
- Pricing → Lead service: uses for inquiries (evidence: `src/pages/PricingPage.tsx`)
- Company information → Lead service: uses for inquiries (evidence: `src/pages/AboutPage.tsx`)
- Lead admin → Lead service: manages leads (evidence: `src/pages/AdminPage.tsx`)
- Lead admin → Admin auth client: uses auth client (evidence: `src/pages/AdminPage.tsx`)
- Lead service → API routes: calls lead API
- Lead service → MongoDB access: checks health API
- API entry → API routes: delegates requests (evidence: `api/index.js`)
- API routes → Session and passwords: creates and validates sessions (evidence: `server/apiRouter.js`)
- API routes → MongoDB access: reads and updates leads (evidence: `server/apiRouter.js`)
- Session and passwords → MongoDB access: uses database (evidence: `server/auth.js`)
- MongoDB access → MongoDB: reads and writes (evidence: `server/mongo.js`)
