# obinnaiwuh/pet-haven architecture

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

## Overview

Pet Haven is a React pet-shop storefront presented as a single-page site. Visitors use the navigation and hero links to browse pet categories and featured products, then view store information or contact details. The product catalog and category listings are static data rendered in the browser; the sampled code shows no checkout, message submission, or backend integration. The README provides no additional capability detail, and several component implementations were not sampled, so their behavior and wiring are not expanded here.

Main entry points: [`src/App.jsx`](https://github.com/obinnaiwuh/pet-haven/blob/main/src/App.jsx) (Page Composition), [`src/components/Navbar.jsx`](https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Navbar.jsx) (Navigation), [`src/components/Products.jsx`](https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Products.jsx) (Featured Products), [`src/components/Hero.jsx`](https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Hero.jsx) (Hero Section)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Page Shell"]
  node_mount["React Mount<br/>[main.jsx]"]
  node_app["Page Composition<br/>[App.jsx]"]
  node_navbar["Navigation<br/>[Navbar.jsx]"]
end

subgraph group_browse["Storefront Browsing"]
  node_hero["Hero Section<br/>[Hero.jsx]"]
  node_categories["Pet Categories<br/>[Categories.jsx]"]
  node_products["Featured Products<br/>[Products.jsx]"]
  node_productcard["Product Card<br/>[ProductCard.jsx]"]
end

subgraph group_information["Store Information"]
  node_benefits["Store Benefits<br/>[WhyChooseUs.jsx]"]
  node_about["About Section<br/>[About.jsx]"]
  node_contact["Contact Section<br/>[Contact.jsx]"]
  node_footer["Footer<br/>[Footer.jsx]"]
end

node_visitor(("Visitor"))

node_visitor -->|"opens site"| node_mount
node_mount -->|"mounts"| node_app
node_app -->|"renders"| node_navbar
node_app -->|"renders"| node_hero
node_app -->|"renders"| node_categories
node_app -->|"renders"| node_products
node_app -->|"renders"| node_benefits
node_app -->|"renders"| node_about
node_app -->|"renders"| node_contact
node_app -->|"renders"| node_footer
node_products -->|"renders"| node_productcard
node_hero -->|"links to shop"| node_products
node_hero -->|"links to categories"| node_categories
node_categories -->|"links to products"| node_products
node_navbar -->|"links home"| node_hero
node_navbar -->|"links to shop"| node_products
node_navbar -->|"links to categories"| node_categories
node_navbar -->|"links to about"| node_about
node_navbar -->|"links to contact"| node_contact

click node_mount "https://github.com/obinnaiwuh/pet-haven/blob/main/src/main.jsx"
click node_app "https://github.com/obinnaiwuh/pet-haven/blob/main/src/App.jsx"
click node_navbar "https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Navbar.jsx"
click node_hero "https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Hero.jsx"
click node_categories "https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Categories.jsx"
click node_products "https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Products.jsx"
click node_productcard "https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/ProductCard.jsx"
click node_benefits "https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/WhyChooseUs.jsx"
click node_about "https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/About.jsx"
click node_contact "https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Contact.jsx"
click node_footer "https://github.com/obinnaiwuh/pet-haven/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_mount,node_app,node_navbar toneBlue
class node_hero,node_categories,node_products,node_productcard toneAmber
class node_benefits,node_about,node_contact,node_footer toneMint
class node_visitor toneIndigo
```

## Components

### Page Shell

- [React Mount](https://github.com/obinnaiwuh/pet-haven/blob/main/src/main.jsx): `src/main.jsx`
- [Page Composition](https://github.com/obinnaiwuh/pet-haven/blob/main/src/App.jsx): `src/App.jsx`
- [Navigation](https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Navbar.jsx): `src/components/Navbar.jsx`

### Storefront Browsing

- [Hero Section](https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Hero.jsx): `src/components/Hero.jsx`
- [Pet Categories](https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Categories.jsx): `src/components/Categories.jsx`
- [Featured Products](https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Products.jsx): `src/components/Products.jsx`
- [Product Card](https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/ProductCard.jsx): `src/components/ProductCard.jsx`

### Store Information

- [Store Benefits](https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/WhyChooseUs.jsx): `src/components/WhyChooseUs.jsx`
- [About Section](https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/About.jsx): `src/components/About.jsx`
- [Contact Section](https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Contact.jsx): `src/components/Contact.jsx`
- [Footer](https://github.com/obinnaiwuh/pet-haven/blob/main/src/components/Footer.jsx): `src/components/Footer.jsx`

### Other components

- **Visitor**

## Connections

- Visitor → React Mount: opens site
- React Mount → Page Composition: mounts
- Page Composition → Navigation: renders
- Page Composition → Hero Section: renders
- Page Composition → Pet Categories: renders
- Page Composition → Featured Products: renders
- Page Composition → Store Benefits: renders
- Page Composition → About Section: renders
- Page Composition → Contact Section: renders
- Page Composition → Footer: renders
- Featured Products → Product Card: renders
- Hero Section → Featured Products: links to shop
- Hero Section → Pet Categories: links to categories
- Pet Categories → Featured Products: links to products
- Navigation → Hero Section: links home
- Navigation → Featured Products: links to shop
- Navigation → Pet Categories: links to categories
- Navigation → About Section: links to about
- Navigation → Contact Section: links to contact
