# lalithkumar2006/e-commerce-website architecture

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

- Interactive diagram: https://gitdiagram.com/lalithkumar2006/e-commerce-website
- Repository: https://github.com/lalithkumar2006/e-commerce-website

## Overview

AuraStore is a full-stack e-commerce storefront with customer accounts, catalog discovery, cart and wishlist, checkout, UPI payment submission and verification, order management, and an administrator dashboard. Customers browse products, manage a cart, place an order, submit a UTR, and view order status; admins manage catalog, orders, coupons, and payment reconciliation. The graph separates storefront journeys, customer state, API domains, and persistence. README capabilities help preserve unsampled areas; their finer implementation links are not asserted where source excerpts do not establish them.

Main entry points: [`server/src/index.js`](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/index.js) (HTTP Application), [`server/src/config/db.js`](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/config/db.js) (SQLite Store), [`client/src/App.jsx`](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/App.jsx) (Page Router), [`client/src/services/api.js`](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/services/api.js) (API Client)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_storefront["Storefront"]
  node_app["Page Router<br/>[App.jsx]"]
  node_discovery["Catalog Discovery<br/>[Shop.jsx]"]
  node_product["Product Details<br/>[ProductDetails.jsx]"]
  node_productcard["Product Card<br/>[ProductCard.jsx]"]
  node_checkout["Checkout<br/>[Checkout.jsx]"]
  node_paymentui["UPI Terminal<br/>[UPIPayment.jsx]"]
  node_ordersui["Order Views<br/>[MyOrders.jsx]"]
  node_adminui["Admin Dashboard<br/>[AdminDashboard.jsx]"]
end

subgraph group_customer["Customer State"]
  node_authstate["Authentication State<br/>[AuthContext.jsx]"]
  node_cartstate["Cart State<br/>[CartContext.jsx]"]
  node_wishliststate["Wishlist State"]
end

subgraph group_commerce["Commerce API"]
  node_authapi["Accounts API<br/>[auth.js]"]
  node_catalogapi["Catalog API<br/>[products.js]"]
  node_cartapi["Cart API<br/>[cart.js]"]
  node_wishlistapi["Wishlist API<br/>[wishlist.js]"]
  node_ordersapi["Orders API<br/>[orders.js]"]
  node_paymentapi["Payment API<br/>[payment.js]"]
  node_couponsapi["Coupons API<br/>[coupons.js]"]
  node_reviewsapi["Reviews API<br/>[reviews.js]"]
end

subgraph group_operations["Operations API"]
  node_adminapi["Admin API<br/>[admin.js]"]
  node_contactapi["Contact API<br/>[contact.js]"]
end

subgraph group_platform["Platform"]
  node_api["API Client<br/>[api.js]"]
  node_server["HTTP Application<br/>[index.js]"]
  node_database[("SQLite Store<br/>[db.js]")]
end

node_shopper(("Shopper"))

node_shopper -->|"visits"| node_app
node_app -->|"routes to"| node_discovery
node_app -->|"routes to"| node_product
node_app -->|"routes to"| node_checkout
node_app -->|"routes to"| node_paymentui
node_app -->|"routes to"| node_ordersui
node_app -->|"routes to"| node_adminui
node_discovery -->|"renders"| node_productcard
node_product -->|"renders"| node_productcard
node_productcard -->|"adds items"| node_cartstate
node_productcard -->|"toggles items"| node_wishliststate
node_checkout -->|"reads cart"| node_cartstate
node_checkout -->|"creates orders"| node_api
node_paymentui -->|"submits UTR"| node_api
node_ordersui -->|"loads orders"| node_api
node_adminui -->|"manages commerce"| node_api
node_authstate -->|"authenticates"| node_api
node_cartstate -->|"syncs cart"| node_api
node_wishliststate -->|"syncs wishlist"| node_api
node_api -->|"sends requests"| node_server
node_server -->|"mounts route"| node_authapi
node_server -->|"mounts route"| node_catalogapi
node_server -->|"mounts route"| node_cartapi
node_server -->|"mounts route"| node_wishlistapi
node_server -->|"mounts route"| node_ordersapi
node_server -->|"mounts route"| node_paymentapi
node_server -->|"mounts route"| node_couponsapi
node_server -->|"mounts route"| node_reviewsapi
node_server -->|"mounts route"| node_adminapi
node_server -->|"mounts route"| node_contactapi
node_authapi -->|"queries"| node_database
node_catalogapi -->|"queries"| node_database
node_cartapi -->|"queries"| node_database
node_wishlistapi -->|"queries"| node_database
node_ordersapi -->|"queries"| node_database
node_paymentapi -->|"queries"| node_database
node_couponsapi -->|"queries"| node_database
node_reviewsapi -->|"reads and writes"| node_database
node_adminapi -->|"queries"| node_database
node_contactapi -->|"stores messages"| node_database

click node_app "https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/App.jsx"
click node_discovery "https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/pages/Shop.jsx"
click node_product "https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/pages/ProductDetails.jsx"
click node_productcard "https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/components/ProductCard.jsx"
click node_checkout "https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/pages/Checkout.jsx"
click node_paymentui "https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/pages/UPIPayment.jsx"
click node_ordersui "https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/pages/MyOrders.jsx"
click node_adminui "https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/pages/admin/AdminDashboard.jsx"
click node_authstate "https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/context/AuthContext.jsx"
click node_cartstate "https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/context/CartContext.jsx"
click node_wishliststate "https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/context/WishlistContext.jsx"
click node_api "https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/services/api.js"
click node_server "https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/index.js"
click node_authapi "https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/auth.js"
click node_catalogapi "https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/products.js"
click node_cartapi "https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/cart.js"
click node_wishlistapi "https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/wishlist.js"
click node_ordersapi "https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/orders.js"
click node_paymentapi "https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/payment.js"
click node_couponsapi "https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/coupons.js"
click node_reviewsapi "https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/reviews.js"
click node_adminapi "https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/admin.js"
click node_contactapi "https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/contact.js"
click node_database "https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/config/db.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_discovery,node_product,node_productcard,node_checkout,node_paymentui,node_ordersui,node_adminui toneBlue
class node_authstate,node_cartstate,node_wishliststate toneAmber
class node_authapi,node_catalogapi,node_cartapi,node_wishlistapi,node_ordersapi,node_paymentapi,node_couponsapi,node_reviewsapi toneMint
class node_adminapi,node_contactapi toneRose
class node_api,node_server,node_database,node_shopper toneIndigo
```

## Components

### Storefront

- [Page Router](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/App.jsx): `client/src/App.jsx`
- [Catalog Discovery](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/pages/Shop.jsx): `client/src/pages/Shop.jsx`
- [Product Details](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/pages/ProductDetails.jsx): `client/src/pages/ProductDetails.jsx`
- [Product Card](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/components/ProductCard.jsx): `client/src/components/ProductCard.jsx`
- [Checkout](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/pages/Checkout.jsx): `client/src/pages/Checkout.jsx`
- [UPI Terminal](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/pages/UPIPayment.jsx): `client/src/pages/UPIPayment.jsx`
- [Order Views](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/pages/MyOrders.jsx): `client/src/pages/MyOrders.jsx`
- [Admin Dashboard](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/pages/admin/AdminDashboard.jsx): `client/src/pages/admin/AdminDashboard.jsx`

### Customer State

- [Authentication State](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/context/AuthContext.jsx): `client/src/context/AuthContext.jsx`
- [Cart State](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/context/CartContext.jsx): `client/src/context/CartContext.jsx`
- [Wishlist State](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/context/WishlistContext.jsx): `client/src/context/WishlistContext.jsx`

### Commerce API

- [Accounts API](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/auth.js): `server/src/routes/auth.js`
- [Catalog API](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/products.js): `server/src/routes/products.js`
- [Cart API](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/cart.js): `server/src/routes/cart.js`
- [Wishlist API](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/wishlist.js): `server/src/routes/wishlist.js`
- [Orders API](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/orders.js): `server/src/routes/orders.js`
- [Payment API](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/payment.js): `server/src/routes/payment.js`
- [Coupons API](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/coupons.js): `server/src/routes/coupons.js`
- [Reviews API](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/reviews.js): `server/src/routes/reviews.js`

### Operations API

- [Admin API](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/admin.js): `server/src/routes/admin.js`
- [Contact API](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/routes/contact.js): `server/src/routes/contact.js`

### Platform

- [API Client](https://github.com/lalithkumar2006/e-commerce-website/blob/main/client/src/services/api.js): `client/src/services/api.js`
- [HTTP Application](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/index.js): `server/src/index.js`
- [SQLite Store](https://github.com/lalithkumar2006/e-commerce-website/blob/main/server/src/config/db.js): `server/src/config/db.js`

### Other components

- **Shopper**

## Connections

- Shopper → Page Router: visits (evidence: `client/src/App.jsx`)
- Page Router → Catalog Discovery: routes to (evidence: `client/src/App.jsx`)
- Page Router → Product Details: routes to (evidence: `client/src/App.jsx`)
- Page Router → Checkout: routes to (evidence: `client/src/App.jsx`)
- Page Router → UPI Terminal: routes to (evidence: `client/src/App.jsx`)
- Page Router → Order Views: routes to (evidence: `client/src/App.jsx`)
- Page Router → Admin Dashboard: routes to (evidence: `client/src/App.jsx`)
- Catalog Discovery → Product Card: renders (evidence: `client/src/pages/Shop.jsx`)
- Product Details → Product Card: renders (evidence: `client/src/pages/ProductDetails.jsx`)
- Product Card → Cart State: adds items (evidence: `client/src/components/ProductCard.jsx`)
- Product Card → Wishlist State: toggles items (evidence: `client/src/components/ProductCard.jsx`)
- Checkout → Cart State: reads cart (evidence: `client/src/pages/Checkout.jsx`)
- Checkout → API Client: creates orders (evidence: `client/src/pages/Checkout.jsx`)
- UPI Terminal → API Client: submits UTR (evidence: `client/src/pages/UPIPayment.jsx`)
- Order Views → API Client: loads orders (evidence: `client/src/services/api.js`)
- Admin Dashboard → API Client: manages commerce (evidence: `client/src/services/api.js`)
- Authentication State → API Client: authenticates (evidence: `client/src/context/AuthContext.jsx`)
- Cart State → API Client: syncs cart (evidence: `client/src/context/CartContext.jsx`)
- Wishlist State → API Client: syncs wishlist (evidence: `client/src/context/WishlistContext.jsx`)
- API Client → HTTP Application: sends requests (evidence: `client/src/services/api.js`)
- HTTP Application → Accounts API: mounts route (evidence: `server/src/index.js`)
- HTTP Application → Catalog API: mounts route (evidence: `server/src/index.js`)
- HTTP Application → Cart API: mounts route (evidence: `server/src/index.js`)
- HTTP Application → Wishlist API: mounts route (evidence: `server/src/index.js`)
- HTTP Application → Orders API: mounts route (evidence: `server/src/index.js`)
- HTTP Application → Payment API: mounts route (evidence: `server/src/index.js`)
- HTTP Application → Coupons API: mounts route (evidence: `server/src/index.js`)
- HTTP Application → Reviews API: mounts route (evidence: `server/src/index.js`)
- HTTP Application → Admin API: mounts route (evidence: `server/src/index.js`)
- HTTP Application → Contact API: mounts route (evidence: `server/src/index.js`)
- Accounts API → SQLite Store: queries (evidence: `server/src/routes/auth.js`)
- Catalog API → SQLite Store: queries (evidence: `server/src/routes/products.js`)
- Cart API → SQLite Store: queries (evidence: `server/src/routes/cart.js`)
- Wishlist API → SQLite Store: queries (evidence: `server/src/routes/wishlist.js`)
- Orders API → SQLite Store: queries (evidence: `server/src/routes/orders.js`)
- Payment API → SQLite Store: queries (evidence: `server/src/routes/payment.js`)
- Coupons API → SQLite Store: queries (evidence: `server/src/routes/coupons.js`)
- Reviews API → SQLite Store: reads and writes (evidence: `server/src/routes/reviews.js`)
- Admin API → SQLite Store: queries (evidence: `server/src/routes/admin.js`)
- Contact API → SQLite Store: stores messages (evidence: `server/src/routes/contact.js`)
