# cultura15/collaboraid architecture

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

- Interactive diagram: https://gitdiagram.com/cultura15/collaboraid
- Repository: https://github.com/cultura15/collaboraid

## Overview

CollaborAid is a collaboration platform for requesting and offering help, with task workflows, rewards, and support. The visible web app routes users from public information and account entry into user or admin dashboards; user task screens support task management, while admins oversee users, tasks, and support conversations. Documented mobile marketplace, messaging, leveling, leaderboard, and ratings capabilities are retained as a distinct branch, but mobile source and backend implementation are not present in the supplied tree. Arrows reflect inspected routing and API/WebSocket evidence; broader feature wiring is intentionally not inferred.

Main entry points: [`frontend-web/src/App.tsx`](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/App.tsx) (Web router), [`frontend-web/src/pages/User/Dashboard.tsx`](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/Dashboard.tsx) (User dashboard), [`frontend-web/src/pages/Admin/Admin.tsx`](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Admin/Admin.tsx) (Admin dashboard), [`frontend-mobile/app`](https://github.com/cultura15/collaboraid/tree/main/frontend-mobile/app) (Android app capabilities)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web experience"]
  node_app["Web router<br/>[App.tsx]"]
  node_home["Info and support<br/>[Home.tsx]"]
  node_register["Account registration<br/>[Register.tsx]"]
  node_login["Login screens<br/>[Loginn.tsx]"]
  node_adminlogin["Admin login<br/>[AdminLogin.tsx]"]
end

subgraph group_community["Community workflows"]
  node_userdash["User dashboard<br/>[Dashboard.tsx]"]
  node_tasks["Task marketplace<br/>[TasksContent.tsx]"]
  node_api["User API client<br/>[api.ts]"]
  node_messages["User messaging"]
  node_profile["User profile<br/>[ProfileContent.tsx]"]
  node_settings["User settings"]
end

subgraph group_admin["Administration"]
  node_admin["Admin dashboard<br/>[Admin.tsx]"]
  node_overview["Activity overview"]
  node_usermanagement["User management<br/>[UserManagement.tsx]"]
  node_taskmanagement["Task monitoring<br/>[TaskManagement.tsx]"]
  node_adminservice["Support inbox<br/>[Service.tsx]"]
end

subgraph group_realtime["Notifications and support"]
  node_notificationsui["Notification views"]
  node_notifications["Notification state"]
  node_chat["Live chat / AI help<br/>[ChatSupport.tsx]"]
end

subgraph group_mobile["Mobile capabilities"]
  node_mobile["Android app capabilities"]
  node_marketplace["Post and accept tasks"]
  node_rewards["Levels and leaderboard"]
  node_collaboration["Messaging and ratings"]
end

node_visitor(("Visitor / user"))
node_backend{{"CollaborAid backend"}}
node_websocket{{"WebSocket service"}}

node_visitor -->|"opens"| node_app
node_app -->|"routes"| node_home
node_app -->|"routes"| node_register
node_app -->|"routes"| node_login
node_app -->|"routes"| node_adminlogin
node_app -->|"routes"| node_userdash
node_app -->|"routes"| node_admin
node_visitor -->|"views"| node_home
node_home -->|"navigates"| node_login
node_home -->|"navigates"| node_register
node_userdash -->|"renders"| node_tasks
node_tasks -->|"calls"| node_api
node_tasks -->|"requests task data"| node_backend
node_tasks -->|"creates and updates tasks"| node_backend
node_admin -->|"renders"| node_overview
node_admin -->|"renders"| node_usermanagement
node_admin -->|"renders"| node_taskmanagement
node_admin -->|"renders"| node_adminservice
node_adminservice -->|"connects"| node_websocket
node_adminservice -->|"loads and sends messages"| node_backend
node_notifications -->|"fetches notifications"| node_backend
node_notifications -->|"subscribes"| node_websocket
node_notificationsui -->|"displays"| node_notifications
node_userdash -->|"renders"| node_messages
node_userdash -->|"renders"| node_profile
node_userdash -->|"renders"| node_settings
node_userdash -->|"renders"| node_notificationsui
node_userdash -->|"renders"| node_chat
node_visitor -.->|"uses"| node_mobile
node_mobile -.->|"offers"| node_marketplace
node_mobile -.->|"rewards activity"| node_rewards
node_mobile -.->|"supports"| node_collaboration
node_mobile -.->|"offers support"| node_chat

click node_app "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/App.tsx"
click node_home "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Home/Home.tsx"
click node_register "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Login/Register.tsx"
click node_login "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Login/Loginn.tsx"
click node_adminlogin "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Login/AdminLogin.tsx"
click node_userdash "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/Dashboard.tsx"
click node_tasks "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/components/TasksContent.tsx"
click node_api "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/services/api.ts"
click node_messages "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/components/MessagesContent.tsx"
click node_profile "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/components/ProfileContent.tsx"
click node_settings "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/components/SettingsContent.tsx"
click node_notificationsui "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/components/NotificationsContent.tsx"
click node_admin "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Admin/Admin.tsx"
click node_overview "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Admin/DashboardOverview.tsx"
click node_usermanagement "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Admin/UserManagement.tsx"
click node_taskmanagement "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Admin/TaskManagement.tsx"
click node_adminservice "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Admin/Service.tsx"
click node_notifications "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/context/NotificationContext.tsx"
click node_mobile "https://github.com/cultura15/collaboraid/tree/main/frontend-mobile/app"
click node_marketplace "https://github.com/cultura15/collaboraid/tree/main/frontend-mobile/app"
click node_rewards "https://github.com/cultura15/collaboraid/tree/main/frontend-mobile/app"
click node_collaboration "https://github.com/cultura15/collaboraid/tree/main/frontend-mobile/app"
click node_chat "https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/components/ChatSupport.tsx"

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_home,node_register,node_login,node_adminlogin,node_visitor toneBlue
class node_userdash,node_tasks,node_api,node_messages,node_profile,node_settings toneAmber
class node_admin,node_overview,node_usermanagement,node_taskmanagement,node_adminservice toneMint
class node_notificationsui,node_notifications,node_chat toneRose
class node_mobile,node_marketplace,node_rewards,node_collaboration,node_backend,node_websocket toneIndigo
```

## Components

### Web experience

- [Web router](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/App.tsx): `frontend-web/src/App.tsx`
- [Info and support](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Home/Home.tsx): `frontend-web/src/pages/Home/Home.tsx`
- [Account registration](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Login/Register.tsx): `frontend-web/src/pages/Login/Register.tsx`
- [Login screens](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Login/Loginn.tsx): `frontend-web/src/pages/Login/Loginn.tsx`
- [Admin login](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Login/AdminLogin.tsx): `frontend-web/src/pages/Login/AdminLogin.tsx`

### Community workflows

- [User dashboard](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/Dashboard.tsx): `frontend-web/src/pages/User/Dashboard.tsx`
- [Task marketplace](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/components/TasksContent.tsx): `frontend-web/src/pages/User/components/TasksContent.tsx`
- [User API client](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/services/api.ts): `frontend-web/src/pages/User/services/api.ts`
- [User messaging](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/components/MessagesContent.tsx): `frontend-web/src/pages/User/components/MessagesContent.tsx`
- [User profile](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/components/ProfileContent.tsx): `frontend-web/src/pages/User/components/ProfileContent.tsx`
- [User settings](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/components/SettingsContent.tsx): `frontend-web/src/pages/User/components/SettingsContent.tsx`

### Administration

- [Admin dashboard](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Admin/Admin.tsx): `frontend-web/src/pages/Admin/Admin.tsx`
- [Activity overview](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Admin/DashboardOverview.tsx): `frontend-web/src/pages/Admin/DashboardOverview.tsx`
- [User management](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Admin/UserManagement.tsx): `frontend-web/src/pages/Admin/UserManagement.tsx`
- [Task monitoring](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Admin/TaskManagement.tsx): `frontend-web/src/pages/Admin/TaskManagement.tsx`
- [Support inbox](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/Admin/Service.tsx): `frontend-web/src/pages/Admin/Service.tsx`

### Notifications and support

- [Notification views](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/components/NotificationsContent.tsx): `frontend-web/src/pages/User/components/NotificationsContent.tsx`
- [Notification state](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/context/NotificationContext.tsx): `frontend-web/src/context/NotificationContext.tsx`
- [Live chat / AI help](https://github.com/cultura15/collaboraid/blob/main/frontend-web/src/pages/User/components/ChatSupport.tsx): `frontend-web/src/pages/User/components/ChatSupport.tsx`

### Mobile capabilities

- [Android app capabilities](https://github.com/cultura15/collaboraid/tree/main/frontend-mobile/app): `frontend-mobile/app`
- [Post and accept tasks](https://github.com/cultura15/collaboraid/tree/main/frontend-mobile/app): `frontend-mobile/app`
- [Levels and leaderboard](https://github.com/cultura15/collaboraid/tree/main/frontend-mobile/app): `frontend-mobile/app`
- [Messaging and ratings](https://github.com/cultura15/collaboraid/tree/main/frontend-mobile/app): `frontend-mobile/app`

### Other components

- **Visitor / user**
- **CollaborAid backend**
- **WebSocket service**

## Connections

- Visitor / user → Web router: opens
- Web router → Info and support: routes
- Web router → Account registration: routes
- Web router → Login screens: routes
- Web router → Admin login: routes
- Web router → User dashboard: routes
- Web router → Admin dashboard: routes
- Visitor / user → Info and support: views
- Info and support → Login screens: navigates
- Info and support → Account registration: navigates
- User dashboard → Task marketplace: renders
- Task marketplace → User API client: calls
- Task marketplace → CollaborAid backend: requests task data
- Task marketplace → CollaborAid backend: creates and updates tasks
- Admin dashboard → Activity overview: renders
- Admin dashboard → User management: renders
- Admin dashboard → Task monitoring: renders
- Admin dashboard → Support inbox: renders
- Support inbox → WebSocket service: connects
- Support inbox → CollaborAid backend: loads and sends messages
- Notification state → CollaborAid backend: fetches notifications
- Notification state → WebSocket service: subscribes
- Notification views → Notification state: displays
- User dashboard → User messaging: renders
- User dashboard → User profile: renders
- User dashboard → User settings: renders
- User dashboard → Notification views: renders
- User dashboard → Live chat / AI help: renders
- Visitor / user → Android app capabilities: uses
- Android app capabilities → Post and accept tasks: offers
- Android app capabilities → Levels and leaderboard: rewards activity
- Android app capabilities → Messaging and ratings: supports
- Android app capabilities → Live chat / AI help: offers support
