# yuth04/vendo-dashboard architecture

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

- Interactive diagram: https://gitdiagram.com/yuth04/vendo-dashboard
- Repository: https://github.com/yuth04/vendo-dashboard

## Overview

VENDO Dashboard is an administrator-facing Next.js frontend for managing an e-commerce store. Administrators enter through the protected admin area, authenticate against the backend, and use management pages for catalog, customers, orders, returns, and analytics; the frontend communicates with VENDO’s REST API. The README documents these capabilities, while the sampled source shows shared authentication-aware API plumbing and notification wiring. Several feature modules are represented at their directories because their implementation was not sampled, so their internal call relationships are not inferred.

Main entry points: [`src/app/admin/(dashboard)/layout.tsx`](https://github.com/yuth04/vendo-dashboard/blob/master/src/app/admin/(dashboard)/layout.tsx) (Admin area), [`src/app/components/services/api/apiClient.ts`](https://github.com/yuth04/vendo-dashboard/blob/master/src/app/components/services/api/apiClient.ts) (API client), [`src/app/components/modules/notifications`](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/notifications) (Notifications), [`src/app/components/modules/auth/core/api/authClient.ts`](https://github.com/yuth04/vendo-dashboard/blob/master/src/app/components/modules/auth/core/api/authClient.ts) (Authentication)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_admin["Admin experience"]
  node_admin_area["Admin area<br/>[layout.tsx]"]
  node_authentication["Authentication<br/>[authClient.ts]"]
  node_dashboard["Dashboard analytics"]
end

subgraph group_commerce["Commerce management"]
  node_products["Product management"]
  node_categories_brands["Categories and brands"]
  node_promotions_coupons["Promotions and coupons"]
  node_customers["Customer management"]
end

subgraph group_operations["Store operations"]
  node_online_orders["Online orders"]
  node_order_history["Order history"]
  node_returns["Returns and exchanges"]
  node_payments["Payment management"]
  node_inventory["Stock and damage"]
  node_reports["Sales and product reports"]
  node_reviews["Product reviews"]
end

subgraph group_shared["Shared services"]
  node_notifications["Notifications"]
  node_shared_api["API client<br/>[apiClient.ts]"]
end

node_administrator(("Administrator"))
node_backend{{"VENDO REST API"}}

node_administrator -->|"uses"| node_admin_area
node_admin_area -->|"authenticates through"| node_authentication
node_authentication -->|"requests through"| node_shared_api
node_shared_api -->|"sends REST requests"| node_backend
node_admin_area -->|"opens"| node_dashboard
node_admin_area -->|"manages"| node_products
node_admin_area -->|"manages"| node_categories_brands
node_admin_area -->|"manages"| node_promotions_coupons
node_admin_area -->|"manages"| node_customers
node_admin_area -->|"manages"| node_online_orders
node_admin_area -->|"reviews"| node_order_history
node_admin_area -->|"reviews"| node_returns
node_admin_area -->|"manages"| node_payments
node_admin_area -->|"manages"| node_inventory
node_admin_area -->|"reviews"| node_reports
node_admin_area -->|"moderates"| node_reviews
node_admin_area -.->|"receives updates"| node_notifications
node_notifications -->|"fetches through"| node_shared_api
node_shared_api -->|"used by listener"| node_notifications
node_shared_api -->|"supports requests"| node_products

click node_admin_area "https://github.com/yuth04/vendo-dashboard/blob/master/src/app/admin/(dashboard)/layout.tsx"
click node_authentication "https://github.com/yuth04/vendo-dashboard/blob/master/src/app/components/modules/auth/core/api/authClient.ts"
click node_dashboard "https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/dashboard"
click node_products "https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/products"
click node_categories_brands "https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/settings"
click node_promotions_coupons "https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/promotions"
click node_customers "https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/customers"
click node_online_orders "https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/online-orders"
click node_order_history "https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/history-orders"
click node_returns "https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/customer-return"
click node_payments "https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/online-orders"
click node_inventory "https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/stock"
click node_reports "https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/sales-reports"
click node_reviews "https://github.com/yuth04/vendo-dashboard/blob/master/src/app/components/modules/product-reviews/components/ProductsReviews.tsx"
click node_notifications "https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/notifications"
click node_shared_api "https://github.com/yuth04/vendo-dashboard/blob/master/src/app/components/services/api/apiClient.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_admin_area,node_authentication,node_dashboard toneBlue
class node_products,node_categories_brands,node_promotions_coupons,node_customers toneAmber
class node_online_orders,node_order_history,node_returns,node_payments,node_inventory,node_reports,node_reviews,node_backend toneMint
class node_notifications,node_shared_api toneRose
class node_administrator toneIndigo
```

## Components

### Admin experience

- [Admin area](https://github.com/yuth04/vendo-dashboard/blob/master/src/app/admin/(dashboard)/layout.tsx): `src/app/admin/(dashboard)/layout.tsx`
- [Authentication](https://github.com/yuth04/vendo-dashboard/blob/master/src/app/components/modules/auth/core/api/authClient.ts): `src/app/components/modules/auth/core/api/authClient.ts`
- [Dashboard analytics](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/dashboard): `src/app/components/modules/dashboard`

### Commerce management

- [Product management](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/products): `src/app/components/modules/products`
- [Categories and brands](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/settings): `src/app/components/modules/settings`
- [Promotions and coupons](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/promotions): `src/app/components/modules/promotions`
- [Customer management](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/customers): `src/app/components/modules/customers`

### Store operations

- [Online orders](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/online-orders): `src/app/components/modules/online-orders`
- [Order history](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/history-orders): `src/app/components/modules/history-orders`
- [Returns and exchanges](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/customer-return): `src/app/components/modules/customer-return`
- [Payment management](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/online-orders): `src/app/components/modules/online-orders`
- [Stock and damage](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/stock): `src/app/components/modules/stock`
- [Sales and product reports](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/sales-reports): `src/app/components/modules/sales-reports`
- [Product reviews](https://github.com/yuth04/vendo-dashboard/blob/master/src/app/components/modules/product-reviews/components/ProductsReviews.tsx): `src/app/components/modules/product-reviews/components/ProductsReviews.tsx`

### Shared services

- [Notifications](https://github.com/yuth04/vendo-dashboard/tree/master/src/app/components/modules/notifications): `src/app/components/modules/notifications`
- [API client](https://github.com/yuth04/vendo-dashboard/blob/master/src/app/components/services/api/apiClient.ts): `src/app/components/services/api/apiClient.ts`

### Other components

- **Administrator**
- **VENDO REST API**

## Connections

- Administrator → Admin area: uses (evidence: `README.md`)
- Admin area → Authentication: authenticates through (evidence: `README.md`)
- Authentication → API client: requests through (evidence: `src/app/components/modules/auth/core/api/authClient.ts`)
- API client → VENDO REST API: sends REST requests (evidence: `README.md`)
- Admin area → Dashboard analytics: opens (evidence: `README.md`)
- Admin area → Product management: manages (evidence: `README.md`)
- Admin area → Categories and brands: manages (evidence: `README.md`)
- Admin area → Promotions and coupons: manages (evidence: `README.md`)
- Admin area → Customer management: manages (evidence: `README.md`)
- Admin area → Online orders: manages (evidence: `README.md`)
- Admin area → Order history: reviews (evidence: `README.md`)
- Admin area → Returns and exchanges: reviews (evidence: `README.md`)
- Admin area → Payment management: manages (evidence: `README.md`)
- Admin area → Stock and damage: manages (evidence: `README.md`)
- Admin area → Sales and product reports: reviews (evidence: `README.md`)
- Admin area → Product reviews: moderates (evidence: `README.md`)
- Admin area → Notifications: receives updates
- Notifications → API client: fetches through (evidence: `src/app/components/modules/notifications/core/api/notificationClient.ts`)
- API client → Notifications: used by listener (evidence: `src/app/components/modules/notifications/core/api/notificationClient.ts`)
- API client → Product management: supports requests (evidence: `src/app/components/modules/products/core/api/productClient.ts`)
