# chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication architecture

> Architecture diagram of the GitHub repository chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication, 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/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication
- Repository: https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication

## Overview

DS Technologies AI Client Agent gathers project requirements across web, WhatsApp, and Slack, then records clients and tasks and notifies the team. The admin workflow authenticates users, presents client/task dashboards, and manages statuses with Trello and client-email updates; Trello webhooks synchronize changes back. The graph follows relationships explicit in the README and sampled files. AI internals and some README-described capabilities are represented at subsystem level where implementation excerpts were incomplete.

Main entry points: [`backend/services/langchain_agent.py`](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/langchain_agent.py) (Conversation agent), [`backend/db/database.py`](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/db/database.py) (Task and client data), [`frontend/app/dashboard/page.tsx`](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/frontend/app/dashboard/page.tsx) (Task dashboard), [`backend/main.py`](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/main.py) (Trello webhook)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_channels["Client channels"]
  node_web_chat["Web chat<br/>[page.tsx]"]
  node_whatsapp["WhatsApp channel<br/>[whatsapp_bot.py]"]
  node_slack["Slack channel<br/>[slack_bot.py]"]
  node_chat_api["Chat endpoint<br/>[main.py]"]
end

subgraph group_agent["AI intake"]
  node_agent_runtime["Conversation agent<br/>[langchain_agent.py]"]
  node_ai_model["AI model<br/>[ai_model.py]"]
  node_intent["Intent detection<br/>[intent_detector.py]"]
  node_task_extractor["Task extraction<br/>[task_extractor.py]"]
end

subgraph group_operations["Task operations"]
  node_trello_create["Trello task creation<br/>[langchain_agent.py]"]
  node_team_email["New-task email<br/>[langchain_agent.py]"]
  node_team_slack["Team notification<br/>[langchain_agent.py]"]
  node_status_email["Status emails<br/>[email_service.py]"]
  node_trello_sync["Trello status sync<br/>[trello_service.py]"]
  node_trello_webhook["Trello webhook<br/>[main.py]"]
  node_whatsapp_service["WhatsApp sender<br/>[whatsapp_bot.py]"]
end

subgraph group_admin["Admin portal"]
  node_web_portal["Web portal<br/>[page.tsx]"]
  node_login["Admin sign-in<br/>[page.tsx]"]
  node_login_api["Login API<br/>[auth.py]"]
  node_auth_helpers["JWT and password auth<br/>[auth.py]"]
  node_dashboard["Task dashboard<br/>[page.tsx]"]
  node_client_admin["Client management<br/>[page.tsx]"]
end

subgraph group_persistence["Persistence"]
  node_db_api["Task and client data<br/>[database.py]"]
  node_database[("Client/task/message store<br/>[database.py]")]
  node_admin_db[("Admin accounts<br/>[database.py]")]
end

node_client(("Client"))
node_trello["Trello"]
node_email_provider["Resend email"]
node_slack_service["Slack platform"]
node_postgres[("PostgreSQL")]

node_client -->|"messages"| node_web_chat
node_client -->|"messages"| node_whatsapp
node_client -->|"messages"| node_slack
node_web_chat -->|"posts chat"| node_chat_api
node_chat_api -->|"invokes"| node_agent_runtime
node_whatsapp -->|"dispatches messages"| node_agent_runtime
node_agent_runtime -->|"sends replies"| node_whatsapp_service
node_whatsapp_service -->|"sends messages"| node_whatsapp
node_slack -->|"invokes"| node_agent_runtime
node_agent_runtime -.->|"uses model"| node_ai_model
node_agent_runtime -.->|"classifies intent"| node_intent
node_agent_runtime -.->|"extracts requirements"| node_task_extractor
node_agent_runtime -->|"saves client and task"| node_database
node_agent_runtime -->|"creates card"| node_trello_create
node_agent_runtime -->|"notifies admin"| node_team_email
node_agent_runtime -->|"notifies team"| node_team_slack
node_trello_create -->|"creates card"| node_trello
node_team_email -->|"sends email"| node_email_provider
node_team_slack -->|"posts notification"| node_slack_service
node_web_portal -->|"offers admin access"| node_login
node_login -->|"submits credentials"| node_login_api
node_login_api -->|"verifies and signs"| node_auth_helpers
node_login_api -->|"looks up admin"| node_admin_db
node_dashboard -->|"loads tasks and stats"| node_db_api
node_client_admin -->|"manages clients"| node_db_api
node_db_api -->|"reads and writes"| node_database
node_admin_db -->|"persists accounts"| node_postgres
node_database -->|"persists records"| node_postgres
node_dashboard -->|"updates status"| node_trello_sync
node_trello_sync -->|"moves card"| node_trello
node_dashboard -->|"triggers status email"| node_status_email
node_status_email -->|"sends update"| node_email_provider
node_trello -->|"posts card changes"| node_trello_webhook
node_trello_webhook -->|"updates task status"| node_db_api
node_trello_webhook -->|"notifies client"| node_status_email

click node_web_chat "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/frontend/app/chat/page.tsx"
click node_whatsapp "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/whatsapp_bot.py"
click node_slack "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/slack_bot.py"
click node_chat_api "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/main.py"
click node_agent_runtime "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/langchain_agent.py"
click node_ai_model "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/ai_model.py"
click node_intent "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/intent_detector.py"
click node_task_extractor "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/task_extractor.py"
click node_trello_create "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/langchain_agent.py"
click node_team_email "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/langchain_agent.py"
click node_team_slack "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/langchain_agent.py"
click node_status_email "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/email_service.py"
click node_trello_sync "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/trello_service.py"
click node_trello_webhook "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/main.py"
click node_web_portal "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/frontend/app/page.tsx"
click node_login "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/frontend/app/signin/page.tsx"
click node_login_api "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/api/routes/auth.py"
click node_auth_helpers "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/auth.py"
click node_dashboard "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/frontend/app/dashboard/page.tsx"
click node_client_admin "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/frontend/app/clients/page.tsx"
click node_db_api "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/db/database.py"
click node_database "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/db/database.py"
click node_admin_db "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/db/database.py"
click node_whatsapp_service "https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/whatsapp_bot.py"

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_web_chat,node_whatsapp,node_slack,node_chat_api,node_client toneBlue
class node_agent_runtime,node_ai_model,node_intent,node_task_extractor,node_postgres toneAmber
class node_trello_create,node_team_email,node_team_slack,node_status_email,node_trello_sync,node_trello_webhook,node_whatsapp_service toneMint
class node_web_portal,node_login,node_login_api,node_auth_helpers,node_dashboard,node_client_admin toneRose
class node_db_api,node_database,node_admin_db,node_trello,node_email_provider,node_slack_service toneIndigo
```

## Components

### Client channels

- [Web chat](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/frontend/app/chat/page.tsx): `frontend/app/chat/page.tsx`
- [WhatsApp channel](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/whatsapp_bot.py): `backend/services/whatsapp_bot.py`
- [Slack channel](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/slack_bot.py): `backend/services/slack_bot.py`
- [Chat endpoint](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/main.py): `backend/main.py`

### AI intake

- [Conversation agent](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/langchain_agent.py): `backend/services/langchain_agent.py`
- [AI model](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/ai_model.py): `backend/services/ai_model.py`
- [Intent detection](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/intent_detector.py): `backend/services/intent_detector.py`
- [Task extraction](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/task_extractor.py): `backend/services/task_extractor.py`

### Task operations

- [Trello task creation](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/langchain_agent.py): `backend/services/langchain_agent.py`
- [New-task email](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/langchain_agent.py): `backend/services/langchain_agent.py`
- [Team notification](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/langchain_agent.py): `backend/services/langchain_agent.py`
- [Status emails](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/email_service.py): `backend/services/email_service.py`
- [Trello status sync](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/trello_service.py): `backend/services/trello_service.py`
- [Trello webhook](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/main.py): `backend/main.py`
- [WhatsApp sender](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/whatsapp_bot.py): `backend/services/whatsapp_bot.py`

### Admin portal

- [Web portal](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/frontend/app/page.tsx): `frontend/app/page.tsx`
- [Admin sign-in](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/frontend/app/signin/page.tsx): `frontend/app/signin/page.tsx`
- [Login API](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/api/routes/auth.py): `backend/api/routes/auth.py`
- [JWT and password auth](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/services/auth.py): `backend/services/auth.py`
- [Task dashboard](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/frontend/app/dashboard/page.tsx): `frontend/app/dashboard/page.tsx`
- [Client management](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/frontend/app/clients/page.tsx): `frontend/app/clients/page.tsx`

### Persistence

- [Task and client data](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/db/database.py): `backend/db/database.py`
- [Client/task/message store](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/db/database.py): `backend/db/database.py`
- [Admin accounts](https://github.com/chaudhrybassamtanvir/aria-automated-requirement-interaction-agent-ai-powered-multi-channel-client-communication/blob/master/backend/db/database.py): `backend/db/database.py`

### Other components

- **Client**
- **Trello**
- **Resend email**
- **Slack platform**
- **PostgreSQL**

## Connections

- Client → Web chat: messages (evidence: `Readme.md`)
- Client → WhatsApp channel: messages (evidence: `Readme.md`)
- Client → Slack channel: messages (evidence: `Readme.md`)
- Web chat → Chat endpoint: posts chat (evidence: `Readme.md`)
- Chat endpoint → Conversation agent: invokes (evidence: `backend/main.py`)
- WhatsApp channel → Conversation agent: dispatches messages (evidence: `backend/main.py`)
- Conversation agent → WhatsApp sender: sends replies (evidence: `backend/main.py`)
- WhatsApp sender → WhatsApp channel: sends messages (evidence: `backend/services/whatsapp_bot.py`)
- Slack channel → Conversation agent: invokes (evidence: `backend/services/slack_bot.py`)
- Conversation agent → AI model: uses model
- Conversation agent → Intent detection: classifies intent
- Conversation agent → Task extraction: extracts requirements
- Conversation agent → Client/task/message store: saves client and task (evidence: `backend/services/langchain_agent.py`)
- Conversation agent → Trello task creation: creates card (evidence: `Readme.md`)
- Conversation agent → New-task email: notifies admin (evidence: `backend/services/langchain_agent.py`)
- Conversation agent → Team notification: notifies team (evidence: `backend/services/langchain_agent.py`)
- Trello task creation → Trello: creates card (evidence: `backend/services/langchain_agent.py`)
- New-task email → Resend email: sends email (evidence: `backend/services/langchain_agent.py`)
- Team notification → Slack platform: posts notification (evidence: `backend/services/langchain_agent.py`)
- Web portal → Admin sign-in: offers admin access (evidence: `Readme.md`)
- Admin sign-in → Login API: submits credentials (evidence: `Readme.md`)
- Login API → JWT and password auth: verifies and signs (evidence: `backend/api/routes/auth.py`)
- Login API → Admin accounts: looks up admin (evidence: `backend/api/routes/auth.py`)
- Task dashboard → Task and client data: loads tasks and stats (evidence: `Readme.md`)
- Client management → Task and client data: manages clients (evidence: `Readme.md`)
- Task and client data → Client/task/message store: reads and writes (evidence: `backend/db/database.py`)
- Admin accounts → PostgreSQL: persists accounts (evidence: `backend/db/database.py`)
- Client/task/message store → PostgreSQL: persists records (evidence: `backend/db/database.py`)
- Task dashboard → Trello status sync: updates status (evidence: `Readme.md`)
- Trello status sync → Trello: moves card (evidence: `backend/services/trello_service.py`)
- Task dashboard → Status emails: triggers status email
- Status emails → Resend email: sends update (evidence: `backend/services/email_service.py`)
- Trello → Trello webhook: posts card changes (evidence: `Readme.md`)
- Trello webhook → Task and client data: updates task status (evidence: `backend/main.py`)
- Trello webhook → Status emails: notifies client (evidence: `backend/main.py`)
