# juug24btech22417-del/casa-lumiere architecture

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

- Interactive diagram: https://gitdiagram.com/juug24btech22417-del/casa-lumiere
- Repository: https://github.com/juug24btech22417-del/casa-lumiere

## Overview

Casa Lumière is a real-estate investment and land-discovery website. Visitors explore estates and plot details, compare development imagery, calculate financing, inspect documents, and submit booking inquiries; separate pages provide the calculator, vault, and drone tour. The map, pricing, locale, and unit modules support that experience. The README documents the major product features; unsampled source leaves some implementation links unverified, so those are omitted or marked dashed.

Main entry points: [`src/app/page.tsx`](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/page.tsx) (Home experience), [`src/components/sections/PlotExplorer.tsx`](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/PlotExplorer.tsx) (Plot explorer), [`src/components/layout/FeaturePageLayout.tsx`](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/layout/FeaturePageLayout.tsx) (Feature page layout), [`src/components/sections/BanashriEnclaveView.tsx`](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/BanashriEnclaveView.tsx) (Enclave view)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_discovery["Estate discovery"]
  node_home["Home experience<br/>[page.tsx]"]
  node_estate_content["Estate content"]
  node_plot_explorer["Plot explorer<br/>[PlotExplorer.tsx]"]
  node_site_plan["Interactive site plan"]
  node_enclave_view["Enclave view"]
  node_plot_card["Plot card<br/>[PlotCard.tsx]"]
  node_vision_page["Vision page<br/>[page.tsx]"]
  node_land_simulator["Land simulator"]
  node_location_map["Location map<br/>[LocationMap.tsx]"]
end

subgraph group_visitor_tools["Visitor tools"]
  node_booking["Booking inquiry<br/>[BookingModal.tsx]"]
  node_calculator_page["Calculator page<br/>[page.tsx]"]
  node_emi_calculator["EMI calculator<br/>[EMICalculator.tsx]"]
  node_documents_page["Documents page<br/>[page.tsx]"]
  node_document_vault["Document vault<br/>[DocumentVault.tsx]"]
  node_drone_page["Drone tour page<br/>[page.tsx]"]
  node_drone_tour["Drone tour<br/>[DroneTour.tsx]"]
  node_drone_player["Drone video player<br/>[DroneVideo.tsx]"]
  node_assistant["AI assistant<br/>[AIAssistant.tsx]"]
end

subgraph group_platform["Shared platform"]
  node_feature_layout["Feature page layout"]
  node_navbar["Navigation<br/>[Navbar.tsx]"]
  node_footer["Footer and signup<br/>[Footer.tsx]"]
  node_legal_modal["Legal documents"]
  node_cookie_modal["Cookie preferences"]
  node_locale["Locale context<br/>[LocaleContext.tsx]"]
  node_translations["Translation strings<br/>[strings.ts]"]
  node_units["Area units<br/>[UnitContext.tsx]"]
  node_pricing["Estate and pricing data<br/>[pricing.ts]"]
  node_smooth_scroll["Anchor scrolling<br/>[smoothScroll.ts]"]
end

subgraph group_services["Backend services"]
  node_chat_api["Chat API<br/>[route.ts]"]
  node_nvidia["NVIDIA integration<br/>[nvidia.ts]"]
  node_supabase[("Supabase")]
end

node_visitor(("Visitor"))

node_visitor -->|"opens"| node_home
node_home -->|"renders"| node_navbar
node_home -->|"renders"| node_estate_content
node_home -->|"renders"| node_plot_explorer
node_home -->|"renders"| node_footer
node_home -->|"renders"| node_assistant
node_home -->|"opens"| node_booking
node_home -->|"opens"| node_legal_modal
node_home -->|"opens"| node_cookie_modal
node_home -->|"uses"| node_smooth_scroll
node_plot_explorer -->|"renders"| node_site_plan
node_plot_explorer -->|"renders"| node_plot_card
node_plot_explorer -->|"renders"| node_enclave_view
node_plot_explorer -->|"renders"| node_location_map
node_enclave_view -->|"opens"| node_booking
node_enclave_view -->|"renders"| node_location_map
node_enclave_view -->|"reads"| node_pricing
node_vision_page -->|"wraps"| node_feature_layout
node_vision_page -->|"renders"| node_land_simulator
node_calculator_page -->|"wraps"| node_feature_layout
node_calculator_page -->|"renders"| node_emi_calculator
node_documents_page -->|"wraps"| node_feature_layout
node_documents_page -->|"renders"| node_document_vault
node_drone_page -->|"wraps"| node_feature_layout
node_drone_page -->|"renders"| node_drone_tour
node_drone_tour -->|"renders"| node_drone_player
node_assistant -.->|"requests"| node_chat_api
node_chat_api -->|"uses"| node_nvidia
node_footer -->|"writes leads"| node_supabase
node_navbar -->|"reads"| node_locale
node_feature_layout -->|"reads"| node_locale
node_locale -->|"looks up"| node_translations
node_site_plan -->|"reads"| node_units
node_site_plan -->|"reads"| node_locale
node_location_map -->|"builds map links"| node_pricing
node_footer -->|"scrolls to anchors"| node_smooth_scroll
node_footer -->|"reads contact data"| node_pricing

click node_home "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/page.tsx"
click node_estate_content "https://github.com/juug24btech22417-del/casa-lumiere/tree/main/src/components/sections"
click node_plot_explorer "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/PlotExplorer.tsx"
click node_site_plan "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/map/InteractiveSitePlan.tsx"
click node_enclave_view "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/BanashriEnclaveView.tsx"
click node_plot_card "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/PlotCard.tsx"
click node_vision_page "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/vision/page.tsx"
click node_land_simulator "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/BeforeAfterSlider.tsx"
click node_booking "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/BookingModal.tsx"
click node_calculator_page "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/emi-calculator/page.tsx"
click node_emi_calculator "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/EMICalculator.tsx"
click node_documents_page "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/documents/page.tsx"
click node_document_vault "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/DocumentVault.tsx"
click node_drone_page "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/drone-tour/page.tsx"
click node_drone_tour "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/DroneTour.tsx"
click node_drone_player "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/ui/DroneVideo.tsx"
click node_assistant "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/chat/AIAssistant.tsx"
click node_chat_api "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/api/chat/route.ts"
click node_nvidia "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/lib/nvidia.ts"
click node_feature_layout "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/layout/FeaturePageLayout.tsx"
click node_navbar "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/layout/Navbar.tsx"
click node_footer "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/layout/Footer.tsx"
click node_legal_modal "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/modals/LegalDocumentModal.tsx"
click node_cookie_modal "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/modals/CookiePreferencesModal.tsx"
click node_locale "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/lib/LocaleContext.tsx"
click node_translations "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/lib/i18n/strings.ts"
click node_units "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/lib/UnitContext.tsx"
click node_pricing "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/lib/pricing.ts"
click node_smooth_scroll "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/lib/smoothScroll.ts"
click node_location_map "https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/ui/LocationMap.tsx"

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_home,node_estate_content,node_plot_explorer,node_site_plan,node_enclave_view,node_plot_card,node_vision_page,node_land_simulator,node_location_map toneBlue
class node_booking,node_calculator_page,node_emi_calculator,node_documents_page,node_document_vault,node_drone_page,node_drone_tour,node_drone_player,node_assistant toneAmber
class node_feature_layout,node_navbar,node_footer,node_legal_modal,node_cookie_modal,node_locale,node_translations,node_units,node_pricing,node_smooth_scroll toneMint
class node_chat_api,node_nvidia,node_supabase toneRose
class node_visitor toneIndigo
```

## Components

### Estate discovery

- [Home experience](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/page.tsx): `src/app/page.tsx`
- [Estate content](https://github.com/juug24btech22417-del/casa-lumiere/tree/main/src/components/sections): `src/components/sections`
- [Plot explorer](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/PlotExplorer.tsx): `src/components/sections/PlotExplorer.tsx`
- [Interactive site plan](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/map/InteractiveSitePlan.tsx): `src/components/map/InteractiveSitePlan.tsx`
- [Enclave view](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/BanashriEnclaveView.tsx): `src/components/sections/BanashriEnclaveView.tsx`
- [Plot card](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/PlotCard.tsx): `src/components/sections/PlotCard.tsx`
- [Vision page](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/vision/page.tsx): `src/app/vision/page.tsx`
- [Land simulator](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/BeforeAfterSlider.tsx): `src/components/sections/BeforeAfterSlider.tsx`
- [Location map](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/ui/LocationMap.tsx): `src/components/ui/LocationMap.tsx`

### Visitor tools

- [Booking inquiry](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/BookingModal.tsx): `src/components/sections/BookingModal.tsx`
- [Calculator page](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/emi-calculator/page.tsx): `src/app/emi-calculator/page.tsx`
- [EMI calculator](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/EMICalculator.tsx): `src/components/sections/EMICalculator.tsx`
- [Documents page](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/documents/page.tsx): `src/app/documents/page.tsx`
- [Document vault](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/DocumentVault.tsx): `src/components/sections/DocumentVault.tsx`
- [Drone tour page](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/drone-tour/page.tsx): `src/app/drone-tour/page.tsx`
- [Drone tour](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/sections/DroneTour.tsx): `src/components/sections/DroneTour.tsx`
- [Drone video player](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/ui/DroneVideo.tsx): `src/components/ui/DroneVideo.tsx`
- [AI assistant](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/chat/AIAssistant.tsx): `src/components/chat/AIAssistant.tsx`

### Shared platform

- [Feature page layout](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/layout/FeaturePageLayout.tsx): `src/components/layout/FeaturePageLayout.tsx`
- [Navigation](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/layout/Navbar.tsx): `src/components/layout/Navbar.tsx`
- [Footer and signup](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/layout/Footer.tsx): `src/components/layout/Footer.tsx`
- [Legal documents](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/modals/LegalDocumentModal.tsx): `src/components/modals/LegalDocumentModal.tsx`
- [Cookie preferences](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/components/modals/CookiePreferencesModal.tsx): `src/components/modals/CookiePreferencesModal.tsx`
- [Locale context](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/lib/LocaleContext.tsx): `src/lib/LocaleContext.tsx`
- [Translation strings](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/lib/i18n/strings.ts): `src/lib/i18n/strings.ts`
- [Area units](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/lib/UnitContext.tsx): `src/lib/UnitContext.tsx`
- [Estate and pricing data](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/lib/pricing.ts): `src/lib/pricing.ts`
- [Anchor scrolling](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/lib/smoothScroll.ts): `src/lib/smoothScroll.ts`

### Backend services

- [Chat API](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/app/api/chat/route.ts): `src/app/api/chat/route.ts`
- [NVIDIA integration](https://github.com/juug24btech22417-del/casa-lumiere/blob/main/src/lib/nvidia.ts): `src/lib/nvidia.ts`
- **Supabase**

### Other components

- **Visitor**

## Connections

- Visitor → Home experience: opens (evidence: `src/app/page.tsx`)
- Home experience → Navigation: renders (evidence: `src/app/page.tsx`)
- Home experience → Estate content: renders (evidence: `src/app/page.tsx`)
- Home experience → Plot explorer: renders (evidence: `src/app/page.tsx`)
- Home experience → Footer and signup: renders (evidence: `src/app/page.tsx`)
- Home experience → AI assistant: renders (evidence: `src/app/page.tsx`)
- Home experience → Booking inquiry: opens (evidence: `src/app/page.tsx`)
- Home experience → Legal documents: opens (evidence: `src/app/page.tsx`)
- Home experience → Cookie preferences: opens (evidence: `src/app/page.tsx`)
- Home experience → Anchor scrolling: uses (evidence: `src/app/page.tsx`)
- Plot explorer → Interactive site plan: renders (evidence: `src/components/sections/PlotExplorer.tsx`)
- Plot explorer → Plot card: renders (evidence: `src/components/sections/PlotExplorer.tsx`)
- Plot explorer → Enclave view: renders (evidence: `src/components/sections/PlotExplorer.tsx`)
- Plot explorer → Location map: renders (evidence: `src/components/sections/PlotExplorer.tsx`)
- Enclave view → Booking inquiry: opens (evidence: `src/components/sections/BanashriEnclaveView.tsx`)
- Enclave view → Location map: renders (evidence: `src/components/sections/BanashriEnclaveView.tsx`)
- Enclave view → Estate and pricing data: reads (evidence: `src/components/sections/BanashriEnclaveView.tsx`)
- Vision page → Feature page layout: wraps (evidence: `src/app/vision/page.tsx`)
- Vision page → Land simulator: renders (evidence: `src/app/vision/page.tsx`)
- Calculator page → Feature page layout: wraps (evidence: `src/app/emi-calculator/page.tsx`)
- Calculator page → EMI calculator: renders (evidence: `src/app/emi-calculator/page.tsx`)
- Documents page → Feature page layout: wraps (evidence: `src/app/documents/page.tsx`)
- Documents page → Document vault: renders (evidence: `src/app/documents/page.tsx`)
- Drone tour page → Feature page layout: wraps (evidence: `src/app/drone-tour/page.tsx`)
- Drone tour page → Drone tour: renders (evidence: `src/app/drone-tour/page.tsx`)
- Drone tour → Drone video player: renders (evidence: `src/components/sections/DroneTour.tsx`)
- AI assistant → Chat API: requests
- Chat API → NVIDIA integration: uses (evidence: `src/app/api/chat/route.ts`)
- Footer and signup → Supabase: writes leads (evidence: `src/components/layout/Footer.tsx`)
- Navigation → Locale context: reads (evidence: `src/components/layout/Navbar.tsx`)
- Feature page layout → Locale context: reads (evidence: `src/components/layout/FeaturePageLayout.tsx`)
- Locale context → Translation strings: looks up (evidence: `src/lib/LocaleContext.tsx`)
- Interactive site plan → Area units: reads (evidence: `src/components/map/InteractiveSitePlan.tsx`)
- Interactive site plan → Locale context: reads (evidence: `src/components/map/InteractiveSitePlan.tsx`)
- Location map → Estate and pricing data: builds map links (evidence: `src/components/ui/LocationMap.tsx`)
- Footer and signup → Anchor scrolling: scrolls to anchors (evidence: `src/components/layout/Footer.tsx`)
- Footer and signup → Estate and pricing data: reads contact data (evidence: `src/components/layout/Footer.tsx`)
