# krishna-4code/awaraa-s-culture architecture

> Architecture diagram of the GitHub repository krishna-4code/awaraa-s-culture, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/krishna-4code/awaraa-s-culture
- Repository: https://github.com/krishna-4code/awaraa-s-culture

## Overview

Awaraa’s Culture is a streetwear ecommerce storefront with customer accounts, cart and promotional pricing, checkout options, live stock, and an admin/CMS surface. The shopper workflow runs from browsing products or collections through cart management and checkout; separate branches cover authentication and inventory administration. Sampled code confirms cart-context calls and stock/auth endpoints, but most commerce, checkout, and admin wiring was not sampled, so those relationships are shown only where supported or left unconnected.

Main entry points: [`src/components/CartContext.tsx`](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/components/CartContext.tsx) (Cart state), [`src/lib/supabase/server.ts`](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/supabase/server.ts) (Server auth client), [`src/lib/supabase/client.ts`](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/supabase/client.ts) (Browser auth client), [`src/lib/commerce/checkout.ts`](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/checkout.ts) (Checkout logic)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_storefront["Storefront"]
  node_home["Home page<br/>[page.tsx]"]
  node_collection["Collections<br/>[page.tsx]"]
  node_product["Product page<br/>[page.tsx]"]
  node_productdetail["Product detail UI<br/>[ProductDetail.tsx]"]
  node_cartui["Cart UI<br/>[CartDrawer.tsx]"]
end

subgraph group_commerce["Commerce"]
  node_cartstate["Cart state<br/>[CartContext.tsx]"]
  node_cartops["Cart operations<br/>[cart.ts]"]
  node_promo["Promo validation<br/>[promo.ts]"]
  node_checkoutpage["Cart and checkout<br/>[page.tsx]"]
  node_checkout["Checkout logic<br/>[checkout.ts]"]
  node_instagramorder["Instagram order<br/>[instagram.ts]"]
  node_razorpay["Razorpay payments<br/>[razorpay.ts]"]
  node_shopifyclient["Shopify client<br/>[client.ts]"]
end

subgraph group_identity["Identity"]
  node_login["Login form<br/>[AuthForm.tsx]"]
  node_authactions["Auth actions<br/>[actions.ts]"]
  node_supabaseclient["Browser auth client<br/>[client.ts]"]
  node_supabaseserver["Server auth client<br/>[server.ts]"]
  node_callback["OAuth callback<br/>[route.ts]"]
end

subgraph group_operations["Operations"]
  node_admin["Admin dashboard<br/>[AdminDashboard.tsx]"]
  node_adminactions["Admin actions<br/>[actions.ts]"]
  node_adminauth["Admin authorization<br/>[auth.ts]"]
  node_stockapi["Stock API<br/>[route.ts]"]
  node_inventory["Inventory operations<br/>[operations.ts]"]
  node_sanitywrite["Inventory writer"]
end

subgraph group_content["Content"]
  node_studio["Sanity Studio<br/>[page.tsx]"]
  node_schemas["Content schemas<br/>[index.ts]"]
  node_pages["Brand and policy pages<br/>[page.tsx]"]
end

node_shopper(("Shopper"))
node_shopify{{"Shopify Storefront"}}
node_supabase{{"Supabase Auth"}}
node_sanity[("Sanity CMS")]

node_shopper -->|"browses"| node_home
node_shopper -->|"browses"| node_collection
node_shopper -->|"opens"| node_product
node_product -->|"renders"| node_productdetail
node_shopper -->|"opens"| node_cartui
node_cartui -->|"uses"| node_cartstate
node_cartstate -->|"manages cart"| node_cartops
node_cartstate -->|"validates codes"| node_promo
node_cartstate -->|"reads user"| node_supabaseclient
node_checkoutpage -->|"uses"| node_cartstate
node_login -->|"submits credentials"| node_authactions
node_login -->|"starts OAuth"| node_supabaseclient
node_authactions -->|"authenticates"| node_supabaseserver
node_callback -->|"exchanges code"| node_supabaseserver
node_supabaseclient -->|"auth requests"| node_supabase
node_supabaseserver -->|"auth requests"| node_supabase
node_stockapi -->|"gets stock"| node_inventory
node_admin -->|"admin tasks"| node_adminactions
node_adminactions -->|"checks access"| node_adminauth
node_adminauth -->|"checks user"| node_supabaseserver
node_studio -->|"uses schemas"| node_schemas
node_schemas -->|"defines content"| node_sanity
node_sanitywrite -->|"writes data"| node_sanity
node_checkout -.->|"prepares order"| node_instagramorder
node_checkout -.->|"initiates payment"| node_razorpay
node_shopifyclient -->|"GraphQL requests"| node_shopify

click node_home "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/page.tsx"
click node_collection "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/collections/%5Bcategory%5D/page.tsx"
click node_product "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/products/%5Bid%5D/page.tsx"
click node_productdetail "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/components/ProductDetail.tsx"
click node_cartui "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/components/CartDrawer.tsx"
click node_cartstate "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/components/CartContext.tsx"
click node_cartops "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/cart.ts"
click node_promo "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/promo.ts"
click node_checkoutpage "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/cart/page.tsx"
click node_checkout "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/checkout.ts"
click node_instagramorder "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/instagram.ts"
click node_razorpay "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/razorpay.ts"
click node_shopifyclient "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/client.ts"
click node_login "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/login/AuthForm.tsx"
click node_authactions "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/login/actions.ts"
click node_supabaseclient "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/supabase/client.ts"
click node_supabaseserver "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/supabase/server.ts"
click node_callback "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/auth/callback/route.ts"
click node_admin "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/admin/AdminDashboard.tsx"
click node_adminactions "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/admin/actions.ts"
click node_adminauth "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/admin/auth.ts"
click node_stockapi "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/api/inventory/stock/route.ts"
click node_inventory "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/inventory/operations.ts"
click node_sanitywrite "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/inventory/sanityWriteClient.ts"
click node_studio "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/studio/%5B%5B...tool%5D%5D/page.tsx"
click node_schemas "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/sanity/schemaTypes/index.ts"
click node_pages "https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/shipping/page.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_collection,node_product,node_productdetail,node_cartui toneBlue
class node_cartstate,node_cartops,node_promo,node_checkoutpage,node_checkout,node_instagramorder,node_razorpay,node_shopifyclient,node_sanity toneAmber
class node_login,node_authactions,node_supabaseclient,node_supabaseserver,node_callback toneMint
class node_admin,node_adminactions,node_adminauth,node_stockapi,node_inventory,node_sanitywrite toneRose
class node_studio,node_schemas,node_pages,node_shopper,node_shopify,node_supabase toneIndigo
```

## Components

### Storefront

- [Home page](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/page.tsx): `src/app/(main)/page.tsx`
- [Collections](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/collections/%5Bcategory%5D/page.tsx): `src/app/(main)/collections/[category]/page.tsx`
- [Product page](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/products/%5Bid%5D/page.tsx): `src/app/(main)/products/[id]/page.tsx`
- [Product detail UI](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/components/ProductDetail.tsx): `src/components/ProductDetail.tsx`
- [Cart UI](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/components/CartDrawer.tsx): `src/components/CartDrawer.tsx`

### Commerce

- [Cart state](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/components/CartContext.tsx): `src/components/CartContext.tsx`
- [Cart operations](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/cart.ts): `src/lib/commerce/cart.ts`
- [Promo validation](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/promo.ts): `src/lib/commerce/promo.ts`
- [Cart and checkout](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/cart/page.tsx): `src/app/(main)/cart/page.tsx`
- [Checkout logic](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/checkout.ts): `src/lib/commerce/checkout.ts`
- [Instagram order](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/instagram.ts): `src/lib/commerce/instagram.ts`
- [Razorpay payments](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/razorpay.ts): `src/lib/commerce/razorpay.ts`
- [Shopify client](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/commerce/client.ts): `src/lib/commerce/client.ts`

### Identity

- [Login form](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/login/AuthForm.tsx): `src/app/(main)/login/AuthForm.tsx`
- [Auth actions](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/login/actions.ts): `src/app/(main)/login/actions.ts`
- [Browser auth client](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/supabase/client.ts): `src/lib/supabase/client.ts`
- [Server auth client](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/supabase/server.ts): `src/lib/supabase/server.ts`
- [OAuth callback](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/auth/callback/route.ts): `src/app/auth/callback/route.ts`

### Operations

- [Admin dashboard](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/admin/AdminDashboard.tsx): `src/app/admin/AdminDashboard.tsx`
- [Admin actions](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/admin/actions.ts): `src/app/admin/actions.ts`
- [Admin authorization](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/admin/auth.ts): `src/lib/admin/auth.ts`
- [Stock API](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/api/inventory/stock/route.ts): `src/app/api/inventory/stock/route.ts`
- [Inventory operations](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/inventory/operations.ts): `src/lib/inventory/operations.ts`
- [Inventory writer](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/lib/inventory/sanityWriteClient.ts): `src/lib/inventory/sanityWriteClient.ts`

### Content

- [Sanity Studio](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/studio/%5B%5B...tool%5D%5D/page.tsx): `src/app/studio/[[...tool]]/page.tsx`
- [Content schemas](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/sanity/schemaTypes/index.ts): `src/sanity/schemaTypes/index.ts`
- [Brand and policy pages](https://github.com/krishna-4code/awaraa-s-culture/blob/main/src/app/(main)/shipping/page.tsx): `src/app/(main)/shipping/page.tsx`

### Other components

- **Shopper**
- **Shopify Storefront**
- **Supabase Auth**
- **Sanity CMS**

## Connections

- Shopper → Home page: browses
- Shopper → Collections: browses
- Shopper → Product page: opens
- Product page → Product detail UI: renders
- Shopper → Cart UI: opens
- Cart UI → Cart state: uses
- Cart state → Cart operations: manages cart
- Cart state → Promo validation: validates codes
- Cart state → Browser auth client: reads user
- Cart and checkout → Cart state: uses
- Login form → Auth actions: submits credentials
- Login form → Browser auth client: starts OAuth
- Auth actions → Server auth client: authenticates
- OAuth callback → Server auth client: exchanges code
- Browser auth client → Supabase Auth: auth requests
- Server auth client → Supabase Auth: auth requests
- Stock API → Inventory operations: gets stock
- Admin dashboard → Admin actions: admin tasks
- Admin actions → Admin authorization: checks access
- Admin authorization → Server auth client: checks user
- Sanity Studio → Content schemas: uses schemas
- Content schemas → Sanity CMS: defines content
- Inventory writer → Sanity CMS: writes data
- Checkout logic → Instagram order: prepares order
- Checkout logic → Razorpay payments: initiates payment
- Shopify client → Shopify Storefront: GraphQL requests
