# prabhavathi11-code/django-taskpulse architecture

> Architecture diagram of the GitHub repository prabhavathi11-code/django-taskpulse, 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/prabhavathi11-code/django-taskpulse
- Repository: https://github.com/prabhavathi11-code/django-taskpulse

## Overview

NexusAI Studio is a Django chatbot: a user opens the chat, submits a prompt, and receives a response from the built-in engine or an available external model. Django saves messages in conversation threads and serves APIs for listing, loading, and deleting history. The interface also supports rich message rendering, voice input and playback, theme settings, and Markdown export. README capabilities are represented where documented; unsampled modules are shown only at their supported paths, and uncertain internal wiring is omitted.

Main entry points: [`myapp/chatbot/views.py`](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/views.py) (Chat views), [`myapp/chatbot/ai_engine.py`](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/ai_engine.py) (Model dispatcher), [`myapp/static/chatbot/js/chat.js`](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/static/chatbot/js/chat.js) (Chat interaction), [`myapp/templates/chatbot/index.html`](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/templates/chatbot/index.html) (Chat page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web entry"]
  node_project_routes["Project routes<br/>[urls.py]"]
  node_chat_routes["Chat routes<br/>[urls.py]"]
end

subgraph group_chat["Chat workflow"]
  node_chat_views["Chat views<br/>[views.py]"]
  node_conversation_model["Conversation records<br/>[models.py]"]
  node_message_model["Message records<br/>[models.py]"]
  node_chat_db[("Application database<br/>[settings.py]")]
end

subgraph group_ai["AI responses"]
  node_ai_dispatch["Model dispatcher<br/>[ai_engine.py]"]
  node_builtin_ai["Built-in engine<br/>[ai_engine.py]"]
end

subgraph group_interface["Chat interface"]
  node_chat_ui["Chat page<br/>[index.html]"]
  node_chat_js["Chat interaction<br/>[chat.js]"]
  node_chat_style["Visual styling<br/>[style.css]"]
  node_rich_features["Rich chat features<br/>[chat.js]"]
end

node_person(("Chat user"))
node_browser(("Web browser"))
node_gemini{{"Google Gemini"}}
node_openai{{"OpenAI API"}}

node_person -->|"uses"| node_browser
node_browser -->|"requests page"| node_project_routes
node_project_routes -->|"routes chat"| node_chat_routes
node_chat_routes -->|"dispatches"| node_chat_views
node_chat_views -->|"renders"| node_chat_ui
node_chat_ui -->|"loads"| node_chat_js
node_chat_ui -->|"styles with"| node_chat_style
node_browser -->|"interacts"| node_chat_js
node_chat_js -->|"calls chat APIs"| node_chat_views
node_chat_js -->|"renders and manages"| node_rich_features
node_chat_views -->|"reads and writes"| node_conversation_model
node_chat_views -->|"reads and writes"| node_message_model
node_conversation_model -->|"persists in"| node_chat_db
node_message_model -->|"persists in"| node_chat_db
node_chat_views -->|"requests reply"| node_ai_dispatch
node_ai_dispatch -->|"falls back to"| node_builtin_ai
node_ai_dispatch -.->|"calls when configured"| node_gemini
node_ai_dispatch -.->|"calls when configured"| node_openai

click node_project_routes "https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/myapp/urls.py"
click node_chat_routes "https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/urls.py"
click node_chat_views "https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/views.py"
click node_chat_ui "https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/templates/chatbot/index.html"
click node_chat_js "https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/static/chatbot/js/chat.js"
click node_chat_style "https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/static/chatbot/css/style.css"
click node_rich_features "https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/static/chatbot/js/chat.js"
click node_conversation_model "https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/models.py"
click node_message_model "https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/models.py"
click node_chat_db "https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/myapp/settings.py"
click node_ai_dispatch "https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/ai_engine.py"
click node_builtin_ai "https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/ai_engine.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_project_routes,node_chat_routes,node_person,node_browser toneBlue
class node_chat_views,node_conversation_model,node_message_model,node_chat_db toneAmber
class node_ai_dispatch,node_builtin_ai,node_openai toneMint
class node_chat_ui,node_chat_js,node_chat_style,node_rich_features toneRose
class node_gemini toneIndigo
```

## Components

### Web entry

- [Project routes](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/myapp/urls.py): `myapp/myapp/urls.py`
- [Chat routes](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/urls.py): `myapp/chatbot/urls.py`

### Chat workflow

- [Chat views](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/views.py): `myapp/chatbot/views.py`
- [Conversation records](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/models.py): `myapp/chatbot/models.py`
- [Message records](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/models.py): `myapp/chatbot/models.py`
- [Application database](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/myapp/settings.py): `myapp/myapp/settings.py`

### AI responses

- [Model dispatcher](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/ai_engine.py): `myapp/chatbot/ai_engine.py`
- [Built-in engine](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/chatbot/ai_engine.py): `myapp/chatbot/ai_engine.py`

### Chat interface

- [Chat page](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/templates/chatbot/index.html): `myapp/templates/chatbot/index.html`
- [Chat interaction](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/static/chatbot/js/chat.js): `myapp/static/chatbot/js/chat.js`
- [Visual styling](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/static/chatbot/css/style.css): `myapp/static/chatbot/css/style.css`
- [Rich chat features](https://github.com/prabhavathi11-code/django-taskpulse/blob/main/myapp/static/chatbot/js/chat.js): `myapp/static/chatbot/js/chat.js`

### Other components

- **Chat user**
- **Web browser**
- **Google Gemini**
- **OpenAI API**

## Connections

- Chat user → Web browser: uses
- Web browser → Project routes: requests page
- Project routes → Chat routes: routes chat
- Chat routes → Chat views: dispatches
- Chat views → Chat page: renders
- Chat page → Chat interaction: loads
- Chat page → Visual styling: styles with
- Web browser → Chat interaction: interacts
- Chat interaction → Chat views: calls chat APIs
- Chat interaction → Rich chat features: renders and manages
- Chat views → Conversation records: reads and writes
- Chat views → Message records: reads and writes
- Conversation records → Application database: persists in
- Message records → Application database: persists in
- Chat views → Model dispatcher: requests reply
- Model dispatcher → Built-in engine: falls back to
- Model dispatcher → Google Gemini: calls when configured
- Model dispatcher → OpenAI API: calls when configured
