# ritikkumar27/chillpoint architecture

> Architecture diagram of the GitHub repository ritikkumar27/chillpoint, 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/ritikkumar27/chillpoint
- Repository: https://github.com/ritikkumar27/chillpoint

## Overview

Chill Point is a restaurant website for presenting its menu, business information and customer reviews, with an owner-facing menu administration panel. Visitors browse the single-page sections, consult menu categories and reviews, and can submit a review or contact the business. Admins use the panel to manage menu items and categories and change the admin password. Data hooks use Supabase when configured and provide local fallback data. The README documents these capabilities; several section implementations were not sampled, so their internal behavior is not expanded here.

Main entry points: [`src/App.jsx`](https://github.com/ritikkumar27/chillpoint/blob/main/src/App.jsx) (Page assembly), [`src/hooks/useData.js`](https://github.com/ritikkumar27/chillpoint/blob/main/src/hooks/useData.js) (Data hooks), [`src/components/Hero.jsx`](https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Hero.jsx) (Hero section), [`src/components/About.jsx`](https://github.com/ritikkumar27/chillpoint/blob/main/src/components/About.jsx) (About section)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_site["Website experience"]
  node_app["Page assembly<br/>[App.jsx]"]
  node_navbar["Navigation<br/>[Navbar.jsx]"]
  node_hero["Hero section<br/>[Hero.jsx]"]
  node_features["Features banner<br/>[FeaturesStrip.jsx]"]
  node_about["About section<br/>[About.jsx]"]
  node_contact["Contact details<br/>[Contact.jsx]"]
  node_footer["Footer<br/>[Footer.jsx]"]
end

subgraph group_customer["Customer content"]
  node_menu["Menu browser<br/>[Menu.jsx]"]
  node_reviews["Review display<br/>[Reviews.jsx]"]
end

subgraph group_admin["Owner administration"]
  node_admin["Admin panel<br/>[AdminPanel.jsx]"]
end

subgraph group_data["Data and services"]
  node_hooks["Data hooks<br/>[useData.js]"]
  node_localdata["Fallback data<br/>[menuData.js]"]
  node_crypto["Password hashing<br/>[crypto.js]"]
  node_client["Supabase client<br/>[supabase.js]"]
end

node_visitor(("Visitor"))
node_database[("Supabase backend")]

node_visitor -->|"browses"| node_app
node_app -->|"renders"| node_navbar
node_app -->|"renders"| node_hero
node_app -->|"renders"| node_features
node_app -->|"renders"| node_about
node_app -->|"renders"| node_menu
node_app -->|"renders"| node_reviews
node_app -->|"renders"| node_contact
node_app -->|"renders"| node_footer
node_footer -->|"opens"| node_admin
node_menu -->|"loads menu"| node_hooks
node_reviews -->|"loads and submits"| node_hooks
node_hero -->|"reads reviews"| node_hooks
node_about -->|"uses data"| node_hooks
node_admin -->|"manages data"| node_hooks
node_hooks -->|"uses fallback"| node_localdata
node_hooks -->|"queries through"| node_client
node_hooks -->|"verifies password"| node_crypto
node_client -.->|"connects to"| node_database
node_contact -->|"offers contact"| node_visitor

click node_app "https://github.com/ritikkumar27/chillpoint/blob/main/src/App.jsx"
click node_navbar "https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Navbar.jsx"
click node_hero "https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Hero.jsx"
click node_features "https://github.com/ritikkumar27/chillpoint/blob/main/src/components/FeaturesStrip.jsx"
click node_about "https://github.com/ritikkumar27/chillpoint/blob/main/src/components/About.jsx"
click node_contact "https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Contact.jsx"
click node_footer "https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Footer.jsx"
click node_menu "https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Menu.jsx"
click node_reviews "https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Reviews.jsx"
click node_admin "https://github.com/ritikkumar27/chillpoint/blob/main/src/components/AdminPanel.jsx"
click node_hooks "https://github.com/ritikkumar27/chillpoint/blob/main/src/hooks/useData.js"
click node_localdata "https://github.com/ritikkumar27/chillpoint/blob/main/src/data/menuData.js"
click node_crypto "https://github.com/ritikkumar27/chillpoint/blob/main/src/lib/crypto.js"
click node_client "https://github.com/ritikkumar27/chillpoint/blob/main/src/lib/supabase.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_navbar,node_hero,node_features,node_about,node_contact,node_footer toneBlue
class node_menu,node_reviews,node_database toneAmber
class node_admin toneMint
class node_hooks,node_localdata,node_crypto,node_client toneRose
class node_visitor toneIndigo
```

## Components

### Website experience

- [Page assembly](https://github.com/ritikkumar27/chillpoint/blob/main/src/App.jsx): `src/App.jsx`
- [Navigation](https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Navbar.jsx): `src/components/Navbar.jsx`
- [Hero section](https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Hero.jsx): `src/components/Hero.jsx`
- [Features banner](https://github.com/ritikkumar27/chillpoint/blob/main/src/components/FeaturesStrip.jsx): `src/components/FeaturesStrip.jsx`
- [About section](https://github.com/ritikkumar27/chillpoint/blob/main/src/components/About.jsx): `src/components/About.jsx`
- [Contact details](https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Contact.jsx): `src/components/Contact.jsx`
- [Footer](https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Footer.jsx): `src/components/Footer.jsx`

### Customer content

- [Menu browser](https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Menu.jsx): `src/components/Menu.jsx`
- [Review display](https://github.com/ritikkumar27/chillpoint/blob/main/src/components/Reviews.jsx): `src/components/Reviews.jsx`

### Owner administration

- [Admin panel](https://github.com/ritikkumar27/chillpoint/blob/main/src/components/AdminPanel.jsx): `src/components/AdminPanel.jsx`

### Data and services

- [Data hooks](https://github.com/ritikkumar27/chillpoint/blob/main/src/hooks/useData.js): `src/hooks/useData.js`
- [Fallback data](https://github.com/ritikkumar27/chillpoint/blob/main/src/data/menuData.js): `src/data/menuData.js`
- [Password hashing](https://github.com/ritikkumar27/chillpoint/blob/main/src/lib/crypto.js): `src/lib/crypto.js`
- [Supabase client](https://github.com/ritikkumar27/chillpoint/blob/main/src/lib/supabase.js): `src/lib/supabase.js`

### Other components

- **Visitor**
- **Supabase backend**

## Connections

- Visitor → Page assembly: browses (evidence: `src/App.jsx`)
- Page assembly → Navigation: renders (evidence: `src/App.jsx`)
- Page assembly → Hero section: renders (evidence: `src/App.jsx`)
- Page assembly → Features banner: renders (evidence: `src/App.jsx`)
- Page assembly → About section: renders (evidence: `src/App.jsx`)
- Page assembly → Menu browser: renders (evidence: `src/App.jsx`)
- Page assembly → Review display: renders (evidence: `src/App.jsx`)
- Page assembly → Contact details: renders (evidence: `src/App.jsx`)
- Page assembly → Footer: renders (evidence: `src/App.jsx`)
- Footer → Admin panel: opens (evidence: `README.md`)
- Menu browser → Data hooks: loads menu (evidence: `src/components/Menu.jsx`)
- Review display → Data hooks: loads and submits (evidence: `src/components/Reviews.jsx`)
- Hero section → Data hooks: reads reviews (evidence: `src/components/Hero.jsx`)
- About section → Data hooks: uses data (evidence: `src/components/About.jsx`)
- Admin panel → Data hooks: manages data (evidence: `src/components/AdminPanel.jsx`)
- Data hooks → Fallback data: uses fallback (evidence: `src/hooks/useData.js`)
- Data hooks → Supabase client: queries through (evidence: `src/hooks/useData.js`)
- Data hooks → Password hashing: verifies password (evidence: `src/hooks/useData.js`)
- Supabase client → Supabase backend: connects to (evidence: `README.md`)
- Contact details → Visitor: offers contact (evidence: `src/components/Contact.jsx`)
