# nahiyanasir/shastho_mart-client architecture

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

- Interactive diagram: https://gitdiagram.com/nahiyanasir/shastho_mart-client
- Repository: https://github.com/nahiyanasir/shastho_mart-client

## Overview

MediStore is a customer-facing OTC medicine storefront with seller and administrator workspaces. Customers browse and filter listings, inspect medicine details, maintain a cart, place orders, and review purchase history; sellers manage listings and orders, while admins oversee categories, users, orders, and platform statistics. The sampled services make server-side requests to a separate API, and the cart hook persists client-side state. Some pages, actions, and service wiring were not sampled, so uncertain connections are omitted.

Main entry points: [`src/service/userService.ts`](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/service/userService.ts) (Customer API service), [`src/app/(commonlayout)/cart/page.tsx`](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(commonlayout)/cart/page.tsx) (Cart and checkout), [`src/hooks/use-cart.tsx`](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/hooks/use-cart.tsx) (Cart state), [`src/service/seller.service.ts`](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/service/seller.service.ts) (Seller API service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_storefront["Customer storefront"]
  node_catalog["Medicine catalog<br/>[page.tsx]"]
  node_medicine_detail["Medicine details<br/>[page.tsx]"]
  node_cart_checkout["Cart and checkout<br/>[page.tsx]"]
  node_cart_state["Cart state<br/>[use-cart.tsx]"]
  node_order_history["Order history<br/>[page.tsx]"]
  node_auth_pages["Account access<br/>[page.tsx]"]
end

subgraph group_seller["Seller workspace"]
  node_seller_dashboard["Sales dashboard<br/>[page.tsx]"]
  node_seller_medicines["Medicine management<br/>[page.tsx]"]
  node_seller_orders["Seller orders<br/>[page.tsx]"]
end

subgraph group_admin["Admin workspace"]
  node_admin_dashboard["Platform dashboard<br/>[page.tsx]"]
  node_admin_categories["Category management<br/>[page.tsx]"]
  node_admin_users["User management<br/>[page.tsx]"]
  node_admin_orders["Order oversight<br/>[page.tsx]"]
end

subgraph group_integration["API and session"]
  node_user_service["Customer API service<br/>[userService.ts]"]
  node_seller_service["Seller API service<br/>[seller.service.ts]"]
  node_admin_service["Admin API service<br/>[admin.service.ts]"]
  node_auth_client["Auth client<br/>[auth-client.ts]"]
end

node_customer(("Customer"))
node_seller_actor(("Seller"))
node_admin_actor(("Administrator"))
node_backend_api{{"Backend API"}}
node_auth_api{{"Session endpoint"}}
node_browser_storage[("Browser local storage")]

node_customer -->|"browses"| node_catalog
node_customer -->|"views"| node_medicine_detail
node_customer -->|"shops"| node_cart_checkout
node_customer -->|"tracks orders"| node_order_history
node_customer -->|"registers or logs in"| node_auth_pages
node_seller_actor -->|"reviews sales"| node_seller_dashboard
node_seller_actor -->|"manages listings"| node_seller_medicines
node_seller_actor -->|"fulfills orders"| node_seller_orders
node_admin_actor -->|"monitors platform"| node_admin_dashboard
node_admin_actor -->|"manages categories"| node_admin_categories
node_admin_actor -->|"manages users"| node_admin_users
node_admin_actor -->|"reviews orders"| node_admin_orders
node_cart_checkout -->|"updates cart"| node_cart_state
node_cart_state -->|"persists cart"| node_browser_storage
node_user_service -->|"requests customer data"| node_backend_api
node_seller_service -->|"requests seller data"| node_backend_api
node_admin_service -->|"requests admin data"| node_backend_api
node_user_service -->|"fetches session"| node_auth_api
node_auth_client -->|"uses auth endpoint"| node_auth_api

click node_catalog "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(commonlayout)/shop/page.tsx"
click node_medicine_detail "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(commonlayout)/shop/%5Bid%5D/page.tsx"
click node_cart_checkout "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(commonlayout)/cart/page.tsx"
click node_cart_state "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/hooks/use-cart.tsx"
click node_order_history "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(commonlayout)/orders/page.tsx"
click node_auth_pages "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(commonlayout)/login/page.tsx"
click node_seller_dashboard "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40seller/seller/dashboard/page.tsx"
click node_seller_medicines "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40seller/seller/medicines/page.tsx"
click node_seller_orders "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40seller/seller/orders/page.tsx"
click node_admin_dashboard "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40admin/admin/page.tsx"
click node_admin_categories "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40admin/admin/categories/page.tsx"
click node_admin_users "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40admin/admin/users/page.tsx"
click node_admin_orders "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40admin/admin/orders/page.tsx"
click node_user_service "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/service/userService.ts"
click node_seller_service "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/service/seller.service.ts"
click node_admin_service "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/service/admin.service.ts"
click node_auth_client "https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/lib/auth-client.ts"

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_catalog,node_medicine_detail,node_cart_checkout,node_cart_state,node_order_history,node_auth_pages toneBlue
class node_seller_dashboard,node_seller_medicines,node_seller_orders,node_browser_storage toneAmber
class node_admin_dashboard,node_admin_categories,node_admin_users,node_admin_orders,node_backend_api toneMint
class node_user_service,node_seller_service,node_admin_service,node_auth_client toneRose
class node_customer,node_seller_actor,node_admin_actor,node_auth_api toneIndigo
```

## Components

### Customer storefront

- [Medicine catalog](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(commonlayout)/shop/page.tsx): `src/app/(commonlayout)/shop/page.tsx`
- [Medicine details](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(commonlayout)/shop/%5Bid%5D/page.tsx): `src/app/(commonlayout)/shop/[id]/page.tsx`
- [Cart and checkout](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(commonlayout)/cart/page.tsx): `src/app/(commonlayout)/cart/page.tsx`
- [Cart state](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/hooks/use-cart.tsx): `src/hooks/use-cart.tsx`
- [Order history](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(commonlayout)/orders/page.tsx): `src/app/(commonlayout)/orders/page.tsx`
- [Account access](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(commonlayout)/login/page.tsx): `src/app/(commonlayout)/login/page.tsx`

### Seller workspace

- [Sales dashboard](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40seller/seller/dashboard/page.tsx): `src/app/(dashboardlayout)/@seller/seller/dashboard/page.tsx`
- [Medicine management](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40seller/seller/medicines/page.tsx): `src/app/(dashboardlayout)/@seller/seller/medicines/page.tsx`
- [Seller orders](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40seller/seller/orders/page.tsx): `src/app/(dashboardlayout)/@seller/seller/orders/page.tsx`

### Admin workspace

- [Platform dashboard](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40admin/admin/page.tsx): `src/app/(dashboardlayout)/@admin/admin/page.tsx`
- [Category management](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40admin/admin/categories/page.tsx): `src/app/(dashboardlayout)/@admin/admin/categories/page.tsx`
- [User management](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40admin/admin/users/page.tsx): `src/app/(dashboardlayout)/@admin/admin/users/page.tsx`
- [Order oversight](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/app/(dashboardlayout)/%40admin/admin/orders/page.tsx): `src/app/(dashboardlayout)/@admin/admin/orders/page.tsx`

### API and session

- [Customer API service](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/service/userService.ts): `src/service/userService.ts`
- [Seller API service](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/service/seller.service.ts): `src/service/seller.service.ts`
- [Admin API service](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/service/admin.service.ts): `src/service/admin.service.ts`
- [Auth client](https://github.com/nahiyanasir/shastho_mart-client/blob/main/src/lib/auth-client.ts): `src/lib/auth-client.ts`

### Other components

- **Customer**
- **Seller**
- **Administrator**
- **Backend API**
- **Session endpoint**
- **Browser local storage**

## Connections

- Customer → Medicine catalog: browses
- Customer → Medicine details: views
- Customer → Cart and checkout: shops
- Customer → Order history: tracks orders
- Customer → Account access: registers or logs in
- Seller → Sales dashboard: reviews sales
- Seller → Medicine management: manages listings
- Seller → Seller orders: fulfills orders
- Administrator → Platform dashboard: monitors platform
- Administrator → Category management: manages categories
- Administrator → User management: manages users
- Administrator → Order oversight: reviews orders
- Cart and checkout → Cart state: updates cart
- Cart state → Browser local storage: persists cart
- Customer API service → Backend API: requests customer data
- Seller API service → Backend API: requests seller data
- Admin API service → Backend API: requests admin data
- Customer API service → Session endpoint: fetches session
- Auth client → Session endpoint: uses auth endpoint
