Commit 9c7989

2025-10-16 06:31:16 Kaushal Lamkhade: Added ERD diagram
Projects/CommNet.md ..
@@ 259,6 259,247 @@
- Caching layer (Redis) for session storage & rate limiting.
---
+ # ERD Diagram - [Click to View](https://getu.at/njSIwX)
+ ```mermaid
+ %%----------------------------------------------------
+ %% Collaborative AI Workspace Platform Data Model (Updated)
+ %%----------------------------------------------------
+ erDiagram
+
+ ACCOUNTS {
+ string id PK
+ varchar name
+ varchar domain
+ text description
+ }
+
+ WORKSPACES {
+ string id PK
+ string account_id
+ varchar name
+ text description
+ }
+
+ WORKSPACE_USERS {
+ string id PK
+ string user_id
+ string workspace_id
+ varchar role
+ varchar status
+ }
+
+ GROUPS {
+ string id PK
+ string workspace_id
+ varchar name
+ text description
+ }
+
+ GROUP_USERS {
+ string id PK
+ string group_id
+ string user_id
+ varchar role
+ }
+
+ USERS {
+ string id PK
+ varchar username
+ varchar full_name
+ varchar email
+ varchar phone_number
+ varchar password_hash
+ varchar auth_token
+ }
+
+ USER_ACCOUNTS {
+ string id PK
+ string user_id
+ string account_id
+ varchar role
+ varchar status
+ }
+
+ CHANNELS {
+ string id PK
+ string workspace_id
+ varchar type
+ jsonb config
+ text description
+ }
+
+ AI_MODELS {
+ string id PK
+ string account_id
+ varchar name
+ varchar ai_type
+ varchar version
+ jsonb config
+ text description
+ }
+
+ AI_AGENTS {
+ string id PK
+ string workspace_id
+ string channel_id
+ string ai_model_id
+ varchar name
+ varchar status
+ text description
+ }
+
+ MCP_CONNECTIONS {
+ string id PK
+ string workspace_id
+ varchar type
+ jsonb config
+ text description
+ }
+
+ MCP_LOGS {
+ string id PK
+ string mcp_connection_id
+ jsonb request_data
+ jsonb response_data
+ varchar status
+ timestamp log_timestamp
+ }
+
+ KNOWLEDGE_BASES {
+ string id PK
+ string workspace_id
+ varchar title
+ text description
+ }
+
+ KB_FILES {
+ string id PK
+ string knowledge_base_id
+ string workspace_id
+ string user_id
+ varchar file_name
+ text file_path
+ varchar mime_type
+ bigint file_size
+ }
+
+ KB_FILE_CHUNKS {
+ string id PK
+ string kb_file_id
+ int chunk_index
+ text content
+ text vector_embedding
+ }
+
+ TASKS {
+ string id PK
+ string workspace_id
+ string agent_id
+ string user_id
+ string conversation_id
+ varchar title
+ text description
+ varchar status
+ }
+
+ TASK_ACTIVITY {
+ string id PK
+ string task_id
+ varchar action
+ string performed_by
+ jsonb details
+ timestamp activity_timestamp
+ }
+
+ CONVERSATIONS {
+ string id PK
+ string workspace_id
+ string channel_id
+ string agent_id
+ varchar title
+ varchar status
+ }
+
+ MESSAGES {
+ string id PK
+ string conversation_id
+ string user_id
+ varchar sender_type
+ string prompt_id
+ text content
+ bool is_memory_archived
+ jsonb metadata
+ }
+
+ MEMORIES {
+ string id PK
+ string agent_id
+ string conversation_id
+ varchar memory_type
+ text content
+ }
+
+ INVITES {
+ string id PK
+ string workspace_id
+ varchar email
+ varchar role
+ varchar token
+ varchar status
+ string invited_by
+ timestamp expires_at
+ }
+
+ %%---------------------------------------------
+ %% Relationships
+ %%---------------------------------------------
+
+ WORKSPACES }o--|| ACCOUNTS : "belongs_to"
+ USER_ACCOUNTS }o--|| USERS : "belongs_to"
+ USER_ACCOUNTS }o--|| ACCOUNTS : "belongs_to"
+ WORKSPACE_USERS }o--|| USERS : "assigned_to"
+ WORKSPACE_USERS }o--|| WORKSPACES : "in"
+
+ GROUPS }o--|| WORKSPACES : "belongs_to"
+ GROUP_USERS }o--|| GROUPS : "belongs_to"
+ GROUP_USERS }o--|| USERS : "includes"
+
+ CHANNELS }o--|| WORKSPACES : "belongs_to"
+
+ AI_AGENTS }o--|| WORKSPACES : "belongs_to"
+ AI_AGENTS ||--|| CHANNELS : "linked_to"
+ AI_AGENTS }o--|| AI_MODELS : "uses"
+
+ MCP_CONNECTIONS }o--|| WORKSPACES : "belongs_to"
+ MCP_LOGS }o--|| MCP_CONNECTIONS : "logs_for"
+
+ KNOWLEDGE_BASES }o--|| WORKSPACES : "belongs_to"
+ KB_FILES }o--|| KNOWLEDGE_BASES : "belongs_to"
+ KB_FILES }o--|| WORKSPACES : "in"
+ KB_FILES }o--|| USERS : "uploaded_by"
+ KB_FILE_CHUNKS }o--|| KB_FILES : "part_of"
+
+ TASKS }o--|| WORKSPACES : "belongs_to"
+ TASKS }o--|| AI_AGENTS : "handled_by"
+ TASKS }o--|| USERS : "assigned_to"
+ TASKS }o--|| CONVERSATIONS : "related_to"
+
+ TASK_ACTIVITY }o--|| TASKS : "logs"
+
+ CONVERSATIONS }o--|| WORKSPACES : "belongs_to"
+ CONVERSATIONS }o--|| CHANNELS : "occurs_in"
+ CONVERSATIONS }o--|| AI_AGENTS : "handled_by"
+
+ MESSAGES }o--|| CONVERSATIONS : "belongs_to"
+ MESSAGES }o--|| USERS : "sent_by"
+
+ MEMORIES }o--|| AI_AGENTS : "associated_with"
+ MEMORIES }o--|| CONVERSATIONS : "linked_to"
+
+ INVITES }o--|| WORKSPACES : "for"
+ INVITES }o--|| USERS : "invited_by"
+ ```
+
# Sequence Diagram - [Click to View](https://getu.at/kDgGCA)
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9