# chito-cbr/database_navicat architecture

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

- Interactive diagram: https://gitdiagram.com/chito-cbr/database_navicat
- Repository: https://github.com/chito-cbr/database_navicat

## Overview

CPF Supply Chain & Inventory System is a role-based B2B inventory and sales application. Buyers browse a catalog and submit orders or bookings; salesmen handle customer relationships and field activity; supervisors oversee teams, visits, stock, and performance; admins manage approvals, master data, and the enterprise sales pipeline. Server actions provide application operations over shared database helpers, with session-based authentication and a separate AI insights capability. Several role subsystems are documented but their implementation was not sampled, so those links reflect README descriptions rather than inspected calls.

Main entry points: [`app/actions/auth.ts`](https://github.com/chito-cbr/database_navicat/blob/main/app/actions/auth.ts) (Auth Actions), [`lib/db-helpers.ts`](https://github.com/chito-cbr/database_navicat/blob/main/lib/db-helpers.ts) (Database Helpers), [`app/(roles)/buyer/catalog/page.tsx`](https://github.com/chito-cbr/database_navicat/blob/main/app/(roles)/buyer/catalog/page.tsx) (Buyer Catalog), [`lib/ai/ai.service.ts`](https://github.com/chito-cbr/database_navicat/blob/main/lib/ai/ai.service.ts) (AI Insights)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_identity["Identity and Access"]
  node_signup["Registration<br/>[page.tsx]"]
  node_login["Login<br/>[page.tsx]"]
  node_auth["Auth Actions<br/>[auth.ts]"]
  node_session["JWT Session<br/>[session.ts]"]
end

subgraph group_commerce["Buyer and Sales"]
  node_buyer_catalog["Buyer Catalog<br/>[page.tsx]"]
  node_buyer_requests["Buyer Requests<br/>[buyer-requests.ts]"]
  node_products["Product Actions<br/>[products.ts]"]
  node_sales["Sales Operations<br/>[sales.ts]"]
  node_salesman_dashboard["Salesman Dashboard<br/>[page.tsx]"]
end

subgraph group_operations["Operations and Oversight"]
  node_approvals["User Approvals"]
  node_admin_actions["Admin Actions<br/>[admin.ts]"]
  node_catalog_admin["Catalog Management<br/>[catalog.ts]"]
  node_supervisor_actions["Supervisor Operations"]
  node_dashboard_actions["Dashboard Actions<br/>[dashboard.ts]"]
end

subgraph group_platform["Data and Insights"]
  node_ai_endpoint["AI Endpoint<br/>[route.ts]"]
  node_ai_service["AI Insights<br/>[ai.service.ts]"]
  node_ai_tools["Analytics Tools<br/>[tools.ts]"]
  node_db_helpers["Database Helpers<br/>[db-helpers.ts]"]
  node_database[("TiDB Database<br/>[db.ts]")]
end

node_buyer(("Buyer"))
node_salesman(("Salesman"))
node_supervisor(("Supervisor"))
node_admin(("Administrator"))
node_gemini["Google Gemini"]

node_buyer -->|"registers"| node_signup
node_signup -->|"submits to"| node_auth
node_login -->|"submits to"| node_auth
node_auth -->|"creates session"| node_session
node_auth -->|"queries"| node_db_helpers
node_salesman -->|"reviews activity"| node_salesman_dashboard
node_buyer -->|"browses"| node_buyer_catalog
node_buyer_catalog -->|"loads products"| node_products
node_buyer_catalog -->|"submits request"| node_buyer_requests
node_buyer -->|"books orders"| node_buyer_requests
node_salesman -->|"handles sales"| node_sales
node_supervisor -->|"oversees team"| node_supervisor_actions
node_admin -->|"reviews accounts"| node_approvals
node_approvals -->|"approves or rejects"| node_admin_actions
node_admin -->|"manages catalog"| node_catalog_admin
node_admin -->|"views enterprise metrics"| node_dashboard_actions
node_ai_endpoint -->|"calls"| node_ai_service
node_ai_service -->|"queries insights"| node_ai_tools
node_ai_service -->|"asks fallback"| node_gemini
node_ai_tools -->|"reads data"| node_db_helpers
node_auth -->|"uses queries"| node_db_helpers
node_db_helpers -->|"executes SQL"| node_database

click node_signup "https://github.com/chito-cbr/database_navicat/blob/main/app/signup/page.tsx"
click node_login "https://github.com/chito-cbr/database_navicat/blob/main/app/login/page.tsx"
click node_auth "https://github.com/chito-cbr/database_navicat/blob/main/app/actions/auth.ts"
click node_session "https://github.com/chito-cbr/database_navicat/blob/main/lib/session.ts"
click node_buyer_catalog "https://github.com/chito-cbr/database_navicat/blob/main/app/(roles)/buyer/catalog/page.tsx"
click node_buyer_requests "https://github.com/chito-cbr/database_navicat/blob/main/app/actions/buyer-requests.ts"
click node_products "https://github.com/chito-cbr/database_navicat/blob/main/app/actions/products.ts"
click node_sales "https://github.com/chito-cbr/database_navicat/blob/main/app/actions/sales.ts"
click node_salesman_dashboard "https://github.com/chito-cbr/database_navicat/blob/main/app/(roles)/salesman/dashboard/page.tsx"
click node_approvals "https://github.com/chito-cbr/database_navicat/blob/main/app/(roles)/admin/approvals/AdminApprovalClient.tsx"
click node_admin_actions "https://github.com/chito-cbr/database_navicat/blob/main/app/actions/admin.ts"
click node_catalog_admin "https://github.com/chito-cbr/database_navicat/blob/main/app/actions/catalog.ts"
click node_supervisor_actions "https://github.com/chito-cbr/database_navicat/blob/main/app/actions/supervisor-actions.ts"
click node_dashboard_actions "https://github.com/chito-cbr/database_navicat/blob/main/app/actions/dashboard.ts"
click node_ai_endpoint "https://github.com/chito-cbr/database_navicat/blob/main/app/api/ai/route.ts"
click node_ai_service "https://github.com/chito-cbr/database_navicat/blob/main/lib/ai/ai.service.ts"
click node_ai_tools "https://github.com/chito-cbr/database_navicat/blob/main/lib/ai/tools.ts"
click node_db_helpers "https://github.com/chito-cbr/database_navicat/blob/main/lib/db-helpers.ts"
click node_database "https://github.com/chito-cbr/database_navicat/blob/main/lib/db.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_signup,node_login,node_auth,node_session toneBlue
class node_buyer_catalog,node_buyer_requests,node_products,node_sales,node_salesman_dashboard toneAmber
class node_approvals,node_admin_actions,node_catalog_admin,node_supervisor_actions,node_dashboard_actions toneMint
class node_ai_endpoint,node_ai_service,node_ai_tools,node_db_helpers,node_database toneRose
class node_buyer,node_salesman,node_supervisor,node_admin,node_gemini toneIndigo
```

## Components

### Identity and Access

- [Registration](https://github.com/chito-cbr/database_navicat/blob/main/app/signup/page.tsx): `app/signup/page.tsx`
- [Login](https://github.com/chito-cbr/database_navicat/blob/main/app/login/page.tsx): `app/login/page.tsx`
- [Auth Actions](https://github.com/chito-cbr/database_navicat/blob/main/app/actions/auth.ts): `app/actions/auth.ts`
- [JWT Session](https://github.com/chito-cbr/database_navicat/blob/main/lib/session.ts): `lib/session.ts`

### Buyer and Sales

- [Buyer Catalog](https://github.com/chito-cbr/database_navicat/blob/main/app/(roles)/buyer/catalog/page.tsx): `app/(roles)/buyer/catalog/page.tsx`
- [Buyer Requests](https://github.com/chito-cbr/database_navicat/blob/main/app/actions/buyer-requests.ts): `app/actions/buyer-requests.ts`
- [Product Actions](https://github.com/chito-cbr/database_navicat/blob/main/app/actions/products.ts): `app/actions/products.ts`
- [Sales Operations](https://github.com/chito-cbr/database_navicat/blob/main/app/actions/sales.ts): `app/actions/sales.ts`
- [Salesman Dashboard](https://github.com/chito-cbr/database_navicat/blob/main/app/(roles)/salesman/dashboard/page.tsx): `app/(roles)/salesman/dashboard/page.tsx`

### Operations and Oversight

- [User Approvals](https://github.com/chito-cbr/database_navicat/blob/main/app/(roles)/admin/approvals/AdminApprovalClient.tsx): `app/(roles)/admin/approvals/AdminApprovalClient.tsx`
- [Admin Actions](https://github.com/chito-cbr/database_navicat/blob/main/app/actions/admin.ts): `app/actions/admin.ts`
- [Catalog Management](https://github.com/chito-cbr/database_navicat/blob/main/app/actions/catalog.ts): `app/actions/catalog.ts`
- [Supervisor Operations](https://github.com/chito-cbr/database_navicat/blob/main/app/actions/supervisor-actions.ts): `app/actions/supervisor-actions.ts`
- [Dashboard Actions](https://github.com/chito-cbr/database_navicat/blob/main/app/actions/dashboard.ts): `app/actions/dashboard.ts`

### Data and Insights

- [AI Endpoint](https://github.com/chito-cbr/database_navicat/blob/main/app/api/ai/route.ts): `app/api/ai/route.ts`
- [AI Insights](https://github.com/chito-cbr/database_navicat/blob/main/lib/ai/ai.service.ts): `lib/ai/ai.service.ts`
- [Analytics Tools](https://github.com/chito-cbr/database_navicat/blob/main/lib/ai/tools.ts): `lib/ai/tools.ts`
- [Database Helpers](https://github.com/chito-cbr/database_navicat/blob/main/lib/db-helpers.ts): `lib/db-helpers.ts`
- [TiDB Database](https://github.com/chito-cbr/database_navicat/blob/main/lib/db.ts): `lib/db.ts`

### Other components

- **Buyer**
- **Salesman**
- **Supervisor**
- **Administrator**
- **Google Gemini**

## Connections

- Buyer → Registration: registers (evidence: `README.md`)
- Registration → Auth Actions: submits to (evidence: `app/signup/page.tsx`)
- Login → Auth Actions: submits to (evidence: `app/login/page.tsx`)
- Auth Actions → JWT Session: creates session (evidence: `app/actions/auth.ts`)
- Auth Actions → Database Helpers: queries (evidence: `app/actions/auth.ts`)
- Salesman → Salesman Dashboard: reviews activity (evidence: `README.md`)
- Buyer → Buyer Catalog: browses (evidence: `README.md`)
- Buyer Catalog → Product Actions: loads products (evidence: `app/(roles)/buyer/catalog/page.tsx`)
- Buyer Catalog → Buyer Requests: submits request (evidence: `app/(roles)/buyer/catalog/page.tsx`)
- Buyer → Buyer Requests: books orders (evidence: `README.md`)
- Salesman → Sales Operations: handles sales (evidence: `README.md`)
- Supervisor → Supervisor Operations: oversees team (evidence: `README.md`)
- Administrator → User Approvals: reviews accounts (evidence: `README.md`)
- User Approvals → Admin Actions: approves or rejects (evidence: `app/(roles)/admin/approvals/AdminApprovalClient.tsx`)
- Administrator → Catalog Management: manages catalog (evidence: `README.md`)
- Administrator → Dashboard Actions: views enterprise metrics
- AI Endpoint → AI Insights: calls (evidence: `app/api/ai/route.ts`)
- AI Insights → Analytics Tools: queries insights (evidence: `lib/ai/ai.service.ts`)
- AI Insights → Google Gemini: asks fallback (evidence: `lib/ai/ai.service.ts`)
- Analytics Tools → Database Helpers: reads data (evidence: `lib/ai/tools.ts`)
- Auth Actions → Database Helpers: uses queries (evidence: `app/actions/auth.ts`)
- Database Helpers → TiDB Database: executes SQL (evidence: `lib/db-helpers.ts`)
