# tejachar121/agentic-ai architecture

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

- Interactive diagram: https://gitdiagram.com/tejachar121/agentic-ai
- Repository: https://github.com/tejachar121/agentic-ai

## Overview

This is an inventory-management application with a browser UI, a Java service/API, and AI-assisted inventory Q&A and tool access. The main user journey is to sign in, inspect dashboard and inventory data, manage products and suppliers, create or review purchase orders, and track stock; the assistant provides a separate question-and-answer path over live business data and inventory guidance. Source excerpts confirm the RAG and chat/MCP orchestration, but most resource-controller and frontend API wiring was not sampled, so those links are left out.

Main entry points: [`frontend/src/routes/AppRoutes.jsx`](https://github.com/tejachar121/agentic-ai/blob/master/frontend/src/routes/AppRoutes.jsx) (Routes and access), [`inventory-management/src/main/java/com/wipro/inventory_management/service/RagService.java`](https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/service/RagService.java) (RAG orchestration), [`inventory-management/src/main/java/com/wipro/inventory_management/repository`](https://github.com/tejachar121/agentic-ai/tree/master/inventory-management/src/main/java/com/wipro/inventory_management/repository) (Repositories), [`inventory-management/src/main/java/com/wipro/inventory_management/chat/ChatService.java`](https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/chat/ChatService.java) (Chat sessions)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Web client"]
  node_app["App shell<br/>[App.jsx]"]
  node_routes["Routes and access<br/>[AppRoutes.jsx]"]
  node_authui["Sign-in and registration"]
  node_dashboardui["Dashboard"]
  node_productui["Product management"]
  node_supplierui["Supplier management"]
  node_poui["Purchase orders"]
  node_stockui["Stock tracking"]
  node_ragui["Assistant screen"]
end

subgraph group_backend["Inventory API"]
  node_controllers["REST controllers"]
  node_authservice["Authentication service<br/>[AuthService.java]"]
  node_inventoryservices["Inventory services"]
end

subgraph group_data["Inventory data"]
  node_repositories[("Repositories")]
  node_entities["Inventory records"]
end

subgraph group_assistant["AI assistant"]
  node_ragservice["RAG orchestration<br/>[RagService.java]"]
  node_chatservice["Chat sessions<br/>[ChatService.java]"]
  node_agent["Tool executor<br/>[AgentExecutor.java]"]
  node_mcp["MCP endpoint<br/>[McpController.java]"]
end

subgraph group_integrations["AI integrations"]
  node_embedding["Embedding service"]
  node_chromaservice["Chroma access"]
end

node_user(("Warehouse user"))
node_ollama["Ollama model service"]
node_chromadb[("ChromaDB")]
node_chatmodel["Chat language model"]

node_user -->|"uses"| node_app
node_app -->|"renders"| node_routes
node_routes -->|"routes"| node_authui
node_routes -->|"routes"| node_dashboardui
node_routes -->|"routes"| node_productui
node_routes -->|"routes"| node_supplierui
node_routes -->|"routes"| node_poui
node_routes -->|"routes"| node_stockui
node_routes -->|"routes"| node_ragui
node_ragui -->|"asks via API"| node_controllers
node_controllers -->|"delegates"| node_ragservice
node_ragservice -->|"reads live data"| node_inventoryservices
node_ragservice -->|"embeds query"| node_embedding
node_embedding -->|"requests vectors"| node_ollama
node_ragservice -->|"retrieves context"| node_chromaservice
node_chromaservice -->|"queries"| node_chromadb
node_ragservice -->|"generates answer"| node_chatmodel
node_chatservice -->|"prompts"| node_chatmodel
node_chatservice -->|"dispatches tool"| node_agent
node_mcp -->|"dispatches tool"| node_agent
node_authservice -->|"reads and writes users"| node_repositories
node_inventoryservices -->|"accesses records"| node_repositories
node_repositories -->|"maps"| node_entities

click node_app "https://github.com/tejachar121/agentic-ai/blob/master/frontend/src/App.jsx"
click node_routes "https://github.com/tejachar121/agentic-ai/blob/master/frontend/src/routes/AppRoutes.jsx"
click node_authui "https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/auth"
click node_dashboardui "https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/dashboard"
click node_productui "https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/products"
click node_supplierui "https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/suppliers"
click node_poui "https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/purchaseOrders"
click node_stockui "https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/stock"
click node_ragui "https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/rag"
click node_controllers "https://github.com/tejachar121/agentic-ai/tree/master/inventory-management/src/main/java/com/wipro/inventory_management/controller"
click node_authservice "https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/service/AuthService.java"
click node_inventoryservices "https://github.com/tejachar121/agentic-ai/tree/master/inventory-management/src/main/java/com/wipro/inventory_management/service"
click node_repositories "https://github.com/tejachar121/agentic-ai/tree/master/inventory-management/src/main/java/com/wipro/inventory_management/repository"
click node_entities "https://github.com/tejachar121/agentic-ai/tree/master/inventory-management/src/main/java/com/wipro/inventory_management/entity"
click node_ragservice "https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/service/RagService.java"
click node_chatservice "https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/chat/ChatService.java"
click node_agent "https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/agent/AgentExecutor.java"
click node_mcp "https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/mcp/McpController.java"
click node_embedding "https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/service/OllamaEmbeddingService.java"
click node_chromaservice "https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/service/ChromaDbService.java"

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_routes,node_authui,node_dashboardui,node_productui,node_supplierui,node_poui,node_stockui,node_ragui,node_user toneBlue
class node_controllers,node_authservice,node_inventoryservices,node_chromadb toneAmber
class node_repositories,node_entities toneMint
class node_ragservice,node_chatservice,node_agent,node_mcp toneRose
class node_embedding,node_chromaservice,node_ollama,node_chatmodel toneIndigo
```

## Components

### Web client

- [App shell](https://github.com/tejachar121/agentic-ai/blob/master/frontend/src/App.jsx): `frontend/src/App.jsx`
- [Routes and access](https://github.com/tejachar121/agentic-ai/blob/master/frontend/src/routes/AppRoutes.jsx): `frontend/src/routes/AppRoutes.jsx`
- [Sign-in and registration](https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/auth): `frontend/src/pages/auth`
- [Dashboard](https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/dashboard): `frontend/src/pages/dashboard`
- [Product management](https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/products): `frontend/src/pages/products`
- [Supplier management](https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/suppliers): `frontend/src/pages/suppliers`
- [Purchase orders](https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/purchaseOrders): `frontend/src/pages/purchaseOrders`
- [Stock tracking](https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/stock): `frontend/src/pages/stock`
- [Assistant screen](https://github.com/tejachar121/agentic-ai/tree/master/frontend/src/pages/rag): `frontend/src/pages/rag`

### Inventory API

- [REST controllers](https://github.com/tejachar121/agentic-ai/tree/master/inventory-management/src/main/java/com/wipro/inventory_management/controller): `inventory-management/src/main/java/com/wipro/inventory_management/controller`
- [Authentication service](https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/service/AuthService.java): `inventory-management/src/main/java/com/wipro/inventory_management/service/AuthService.java`
- [Inventory services](https://github.com/tejachar121/agentic-ai/tree/master/inventory-management/src/main/java/com/wipro/inventory_management/service): `inventory-management/src/main/java/com/wipro/inventory_management/service`

### Inventory data

- [Repositories](https://github.com/tejachar121/agentic-ai/tree/master/inventory-management/src/main/java/com/wipro/inventory_management/repository): `inventory-management/src/main/java/com/wipro/inventory_management/repository`
- [Inventory records](https://github.com/tejachar121/agentic-ai/tree/master/inventory-management/src/main/java/com/wipro/inventory_management/entity): `inventory-management/src/main/java/com/wipro/inventory_management/entity`

### AI assistant

- [RAG orchestration](https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/service/RagService.java): `inventory-management/src/main/java/com/wipro/inventory_management/service/RagService.java`
- [Chat sessions](https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/chat/ChatService.java): `inventory-management/src/main/java/com/wipro/inventory_management/chat/ChatService.java`
- [Tool executor](https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/agent/AgentExecutor.java): `inventory-management/src/main/java/com/wipro/inventory_management/agent/AgentExecutor.java`
- [MCP endpoint](https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/mcp/McpController.java): `inventory-management/src/main/java/com/wipro/inventory_management/mcp/McpController.java`

### AI integrations

- [Embedding service](https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/service/OllamaEmbeddingService.java): `inventory-management/src/main/java/com/wipro/inventory_management/service/OllamaEmbeddingService.java`
- [Chroma access](https://github.com/tejachar121/agentic-ai/blob/master/inventory-management/src/main/java/com/wipro/inventory_management/service/ChromaDbService.java): `inventory-management/src/main/java/com/wipro/inventory_management/service/ChromaDbService.java`

### Other components

- **Warehouse user**
- **Ollama model service**
- **ChromaDB**
- **Chat language model**

## Connections

- Warehouse user → App shell: uses
- App shell → Routes and access: renders
- Routes and access → Sign-in and registration: routes
- Routes and access → Dashboard: routes
- Routes and access → Product management: routes
- Routes and access → Supplier management: routes
- Routes and access → Purchase orders: routes
- Routes and access → Stock tracking: routes
- Routes and access → Assistant screen: routes
- Assistant screen → REST controllers: asks via API
- REST controllers → RAG orchestration: delegates
- RAG orchestration → Inventory services: reads live data
- RAG orchestration → Embedding service: embeds query
- Embedding service → Ollama model service: requests vectors
- RAG orchestration → Chroma access: retrieves context
- Chroma access → ChromaDB: queries
- RAG orchestration → Chat language model: generates answer
- Chat sessions → Chat language model: prompts
- Chat sessions → Tool executor: dispatches tool
- MCP endpoint → Tool executor: dispatches tool
- Authentication service → Repositories: reads and writes users
- Inventory services → Repositories: accesses records
- Repositories → Inventory records: maps
