# bhaktikushan/intellmeet architecture

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

- Interactive diagram: https://gitdiagram.com/bhaktikushan/intellmeet
- Repository: https://github.com/bhaktikushan/intellmeet

## Overview

IntellMeet is a meeting and team-collaboration platform. Users authenticate, schedule or join meetings, collaborate in real time, and turn meeting transcripts into summaries and actionable tasks; they can then track work on a Kanban board and review analytics. The graph combines sampled call sites and imports with documented capabilities. Several feature modules were not excerpted, so their internal relationships are omitted where the evidence does not establish them.

Main entry points: [`Backend/server.js`](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/server.js) (Express API), [`Frontend/src/services/api.js`](https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/services/api.js) (API client), [`Frontend/src/App.jsx`](https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/App.jsx) (App routing), [`Frontend/src/pages/MeetingRoomPage.jsx`](https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/MeetingRoomPage.jsx) (Meeting room)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Client experience"]
  node_app["App routing<br/>[App.jsx]"]
  node_auth_ui["Auth session<br/>[AuthContext.jsx]"]
  node_api_client["API client<br/>[api.js]"]
  node_dashboard["Dashboard<br/>[DashboardPage.jsx]"]
  node_meetings_page["Meeting list<br/>[MeetingsPage.jsx]"]
  node_postmeeting["Meeting report"]
  node_kanban["Kanban board<br/>[KanbanPage.jsx]"]
end

subgraph group_meetings["Meetings and collaboration"]
  node_room_page["Meeting room"]
  node_meeting_ui["Meeting controls"]
  node_socket["Socket signaling<br/>[socketService.js]"]
end

subgraph group_backend["Backend services"]
  node_server["Express API<br/>[server.js]"]
  node_auth_routes["Authentication routes<br/>[authRoutes.js]"]
  node_meeting_routes["Meeting routes<br/>[meetingRoutes.js]"]
  node_task_routes["Task routes<br/>[taskRoutes.js]"]
end

subgraph group_data["Domain data"]
  node_user_model[("User records<br/>[User.js]")]
  node_meeting_model[("Meeting records<br/>[Meeting.js]")]
  node_task_model[("Task records<br/>[Task.js]")]
  node_workspace_model[("Workspace records<br/>[Workspace.js]")]
end

subgraph group_intelligence["AI and insights"]
  node_analytics["Analytics view<br/>[AnalyticsPage.jsx]"]
  node_ai_routes["AI routes<br/>[aiRoutes.js]"]
  node_analytics_routes["Analytics routes<br/>[analyticsRoutes.js]"]
  node_ai_service["Meeting intelligence<br/>[aiService.js]"]
end

node_user(("Team member"))
node_peer_media(("WebRTC peers"))
node_ai_provider(("AI providers"))

node_user -->|"uses"| node_app
node_app -->|"reads session"| node_auth_ui
node_app -->|"routes to"| node_dashboard
node_app -->|"routes to"| node_meetings_page
node_app -->|"routes to"| node_room_page
node_app -->|"routes to"| node_postmeeting
node_auth_ui -->|"calls"| node_api_client
node_dashboard -->|"calls"| node_api_client
node_meetings_page -->|"calls"| node_api_client
node_room_page -->|"renders"| node_meeting_ui
node_room_page -->|"calls"| node_api_client
node_room_page -.->|"signals via"| node_socket
node_room_page -.->|"connects peers"| node_peer_media
node_postmeeting -->|"calls"| node_api_client
node_kanban -->|"calls"| node_api_client
node_analytics -->|"calls"| node_api_client
node_api_client -->|"HTTP requests"| node_server
node_server -->|"mounts"| node_auth_routes
node_server -->|"mounts"| node_meeting_routes
node_server -->|"mounts"| node_task_routes
node_server -->|"mounts"| node_ai_routes
node_server -->|"mounts"| node_analytics_routes
node_server -->|"configures"| node_socket
node_auth_routes -->|"reads and writes"| node_user_model
node_meeting_routes -->|"reads and writes"| node_meeting_model
node_meeting_routes -->|"uses"| node_task_model
node_task_routes -->|"reads and writes"| node_task_model
node_ai_routes -->|"calls"| node_ai_service
node_meeting_routes -->|"generates summary"| node_ai_service
node_analytics_routes -->|"queries"| node_meeting_model
node_analytics_routes -->|"queries"| node_task_model
node_analytics_routes -->|"queries"| node_user_model
node_socket -->|"uses"| node_meeting_model
node_socket -->|"uses"| node_ai_service
node_ai_service -.->|"requests intelligence"| node_ai_provider

click node_app "https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/App.jsx"
click node_auth_ui "https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/context/AuthContext.jsx"
click node_api_client "https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/services/api.js"
click node_dashboard "https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/DashboardPage.jsx"
click node_meetings_page "https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/MeetingsPage.jsx"
click node_room_page "https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/MeetingRoomPage.jsx"
click node_meeting_ui "https://github.com/bhaktikushan/intellmeet/tree/main/Frontend/src/components/meeting"
click node_postmeeting "https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/PostMeetingDetailsPage.jsx"
click node_kanban "https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/KanbanPage.jsx"
click node_analytics "https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/AnalyticsPage.jsx"
click node_server "https://github.com/bhaktikushan/intellmeet/blob/main/Backend/server.js"
click node_auth_routes "https://github.com/bhaktikushan/intellmeet/blob/main/Backend/routes/authRoutes.js"
click node_meeting_routes "https://github.com/bhaktikushan/intellmeet/blob/main/Backend/routes/meetingRoutes.js"
click node_task_routes "https://github.com/bhaktikushan/intellmeet/blob/main/Backend/routes/taskRoutes.js"
click node_ai_routes "https://github.com/bhaktikushan/intellmeet/blob/main/Backend/routes/aiRoutes.js"
click node_analytics_routes "https://github.com/bhaktikushan/intellmeet/blob/main/Backend/routes/analyticsRoutes.js"
click node_socket "https://github.com/bhaktikushan/intellmeet/blob/main/Backend/services/socketService.js"
click node_ai_service "https://github.com/bhaktikushan/intellmeet/blob/main/Backend/services/aiService.js"
click node_user_model "https://github.com/bhaktikushan/intellmeet/blob/main/Backend/models/User.js"
click node_meeting_model "https://github.com/bhaktikushan/intellmeet/blob/main/Backend/models/Meeting.js"
click node_task_model "https://github.com/bhaktikushan/intellmeet/blob/main/Backend/models/Task.js"
click node_workspace_model "https://github.com/bhaktikushan/intellmeet/blob/main/Backend/models/Workspace.js"

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_auth_ui,node_api_client,node_dashboard,node_meetings_page,node_postmeeting,node_kanban toneBlue
class node_room_page,node_meeting_ui,node_socket toneAmber
class node_server,node_auth_routes,node_meeting_routes,node_task_routes toneMint
class node_user_model,node_meeting_model,node_task_model,node_workspace_model toneRose
class node_analytics,node_ai_routes,node_analytics_routes,node_ai_service,node_user,node_peer_media,node_ai_provider toneIndigo
```

## Components

### Client experience

- [App routing](https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/App.jsx): `Frontend/src/App.jsx`
- [Auth session](https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/context/AuthContext.jsx): `Frontend/src/context/AuthContext.jsx`
- [API client](https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/services/api.js): `Frontend/src/services/api.js`
- [Dashboard](https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/DashboardPage.jsx): `Frontend/src/pages/DashboardPage.jsx`
- [Meeting list](https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/MeetingsPage.jsx): `Frontend/src/pages/MeetingsPage.jsx`
- [Meeting report](https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/PostMeetingDetailsPage.jsx): `Frontend/src/pages/PostMeetingDetailsPage.jsx`
- [Kanban board](https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/KanbanPage.jsx): `Frontend/src/pages/KanbanPage.jsx`

### Meetings and collaboration

- [Meeting room](https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/MeetingRoomPage.jsx): `Frontend/src/pages/MeetingRoomPage.jsx`
- [Meeting controls](https://github.com/bhaktikushan/intellmeet/tree/main/Frontend/src/components/meeting): `Frontend/src/components/meeting`
- [Socket signaling](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/services/socketService.js): `Backend/services/socketService.js`

### Backend services

- [Express API](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/server.js): `Backend/server.js`
- [Authentication routes](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/routes/authRoutes.js): `Backend/routes/authRoutes.js`
- [Meeting routes](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/routes/meetingRoutes.js): `Backend/routes/meetingRoutes.js`
- [Task routes](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/routes/taskRoutes.js): `Backend/routes/taskRoutes.js`

### Domain data

- [User records](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/models/User.js): `Backend/models/User.js`
- [Meeting records](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/models/Meeting.js): `Backend/models/Meeting.js`
- [Task records](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/models/Task.js): `Backend/models/Task.js`
- [Workspace records](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/models/Workspace.js): `Backend/models/Workspace.js`

### AI and insights

- [Analytics view](https://github.com/bhaktikushan/intellmeet/blob/main/Frontend/src/pages/AnalyticsPage.jsx): `Frontend/src/pages/AnalyticsPage.jsx`
- [AI routes](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/routes/aiRoutes.js): `Backend/routes/aiRoutes.js`
- [Analytics routes](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/routes/analyticsRoutes.js): `Backend/routes/analyticsRoutes.js`
- [Meeting intelligence](https://github.com/bhaktikushan/intellmeet/blob/main/Backend/services/aiService.js): `Backend/services/aiService.js`

### Other components

- **Team member**
- **WebRTC peers**
- **AI providers**

## Connections

- Team member → App routing: uses (evidence: `README.md`)
- App routing → Auth session: reads session (evidence: `Frontend/src/App.jsx`)
- App routing → Dashboard: routes to (evidence: `Frontend/src/App.jsx`)
- App routing → Meeting list: routes to (evidence: `Frontend/src/App.jsx`)
- App routing → Meeting room: routes to (evidence: `Frontend/src/App.jsx`)
- App routing → Meeting report: routes to (evidence: `Frontend/src/App.jsx`)
- Auth session → API client: calls (evidence: `Frontend/src/context/AuthContext.jsx`)
- Dashboard → API client: calls (evidence: `Frontend/src/pages/DashboardPage.jsx`)
- Meeting list → API client: calls (evidence: `Frontend/src/pages/MeetingsPage.jsx`)
- Meeting room → Meeting controls: renders (evidence: `Frontend/src/pages/MeetingRoomPage.jsx`)
- Meeting room → API client: calls (evidence: `Frontend/src/pages/MeetingRoomPage.jsx`)
- Meeting room → Socket signaling: signals via (evidence: `README.md`)
- Meeting room → WebRTC peers: connects peers (evidence: `README.md`)
- Meeting report → API client: calls (evidence: `Frontend/src/pages/PostMeetingDetailsPage.jsx`)
- Kanban board → API client: calls (evidence: `Frontend/src/pages/KanbanPage.jsx`)
- Analytics view → API client: calls (evidence: `Frontend/src/pages/AnalyticsPage.jsx`)
- API client → Express API: HTTP requests (evidence: `Frontend/src/services/api.js`)
- Express API → Authentication routes: mounts (evidence: `Backend/server.js`)
- Express API → Meeting routes: mounts (evidence: `Backend/server.js`)
- Express API → Task routes: mounts (evidence: `Backend/server.js`)
- Express API → AI routes: mounts (evidence: `Backend/server.js`)
- Express API → Analytics routes: mounts (evidence: `Backend/server.js`)
- Express API → Socket signaling: configures (evidence: `Backend/server.js`)
- Authentication routes → User records: reads and writes (evidence: `Backend/routes/authRoutes.js`)
- Meeting routes → Meeting records: reads and writes (evidence: `Backend/routes/meetingRoutes.js`)
- Meeting routes → Task records: uses (evidence: `Backend/routes/meetingRoutes.js`)
- Task routes → Task records: reads and writes (evidence: `Backend/routes/taskRoutes.js`)
- AI routes → Meeting intelligence: calls (evidence: `Backend/routes/aiRoutes.js`)
- Meeting routes → Meeting intelligence: generates summary (evidence: `Backend/routes/meetingRoutes.js`)
- Analytics routes → Meeting records: queries (evidence: `Backend/routes/analyticsRoutes.js`)
- Analytics routes → Task records: queries (evidence: `Backend/routes/analyticsRoutes.js`)
- Analytics routes → User records: queries (evidence: `Backend/routes/analyticsRoutes.js`)
- Socket signaling → Meeting records: uses (evidence: `Backend/services/socketService.js`)
- Socket signaling → Meeting intelligence: uses (evidence: `Backend/services/socketService.js`)
- Meeting intelligence → AI providers: requests intelligence (evidence: `Backend/services/aiService.js`)
