# niteeshkumarraju/intellmeet architecture

> Architecture diagram of the GitHub repository niteeshkumarraju/intellmeet, 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/niteeshkumarraju/intellmeet
- Repository: https://github.com/niteeshkumarraju/intellmeet

## Overview

IntellMeet is a team meeting and collaboration application. Users sign in, manage meetings and teams, collaborate during meetings, and review AI-generated summaries and analysis; the app also exposes public recording shares and project tasks. The graph follows documented route wiring and sampled module references. Several page implementations and route handlers were not sampled, so their internal API and real-time connections are not asserted.

Main entry points: [`client/src/App.jsx`](https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/App.jsx) (Application router), [`server/index.js`](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/index.js) (HTTP and socket server), [`client/src/store/authStore.ts`](https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/store/authStore.ts) (Auth state), [`server/routes/meetings.js`](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/meetings.js) (Meeting routes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Client experience"]
  node_app["Application router<br/>[App.jsx]"]
  node_authui["Sign in and signup<br/>[Login.jsx]"]
  node_dashboard["Dashboard<br/>[Dashboard.jsx]"]
  node_meetingui["Meeting room<br/>[Meeting.jsx]"]
  node_analysisui["Meeting analysis<br/>[Analysis.jsx]"]
  node_teamsui["Teams<br/>[Teams.jsx]"]
  node_shareui["Public recording"]
  node_authstate["Auth state<br/>[authStore.ts]"]
  node_aiweb["AI client service<br/>[gemini.ts]"]
end

subgraph group_meetings["Meetings and AI"]
  node_meetingroutes["Meeting routes<br/>[meetings.js]"]
  node_meetingrecords[("Meeting records<br/>[Meeting.js]")]
  node_chatroutes["Chat routes<br/>[chat.js]"]
  node_messagerecords[("Message records<br/>[Message.js]")]
  node_airoutes["AI routes<br/>[aiRoutes.js]"]
  node_aicontroller["AI processing<br/>[aiController.js]"]
end

subgraph group_identity["Identity and teams"]
  node_authroutes["Auth routes<br/>[auth.js]"]
  node_userrecords[("User records<br/>[User.js]")]
  node_teamroutes["Team routes<br/>[teams.js]"]
  node_teamrecords[("Team records<br/>[Team.js]")]
end

subgraph group_work["Projects and tasks"]
  node_projectroutes["Project routes<br/>[projects.js]"]
  node_projectrecords[("Project records<br/>[Project.js]")]
  node_taskroutes["Task routes<br/>[tasks.js]"]
  node_taskrecords[("Task records<br/>[Task.js]")]
end

subgraph group_platform["Server platform"]
  node_server["HTTP and socket server<br/>[index.js]"]
  node_redis[("Redis cache<br/>[redis.js]")]
  node_cloudinary["Cloudinary storage<br/>[cloudinary.js]"]
  node_email["Email delivery<br/>[email.js]"]
end

node_user(("User"))

node_user -->|"uses"| node_app
node_app -->|"routes to"| node_authui
node_app -->|"routes to"| node_dashboard
node_app -->|"routes to"| node_meetingui
node_app -->|"routes to"| node_analysisui
node_app -->|"routes to"| node_teamsui
node_app -->|"routes to"| node_shareui
node_app -->|"checks auth"| node_authstate
node_authui -->|"uses"| node_authstate
node_dashboard -->|"uses"| node_authstate
node_meetingui -->|"uses"| node_authstate
node_analysisui -->|"uses"| node_authstate
node_teamsui -->|"uses"| node_authstate
node_analysisui -->|"uses"| node_aiweb
node_meetingui -->|"uses"| node_aiweb
node_server -->|"mounts"| node_authroutes
node_server -->|"mounts"| node_meetingroutes
node_server -->|"mounts"| node_chatroutes
node_server -->|"mounts"| node_airoutes
node_server -->|"mounts"| node_teamroutes
node_server -->|"mounts"| node_projectroutes
node_server -->|"mounts"| node_taskroutes
node_authroutes -->|"reads and writes"| node_userrecords
node_authroutes -->|"uploads avatar"| node_cloudinary
node_authroutes -->|"sends mail"| node_email
node_meetingroutes -->|"reads and writes"| node_meetingrecords
node_meetingroutes -->|"uses storage"| node_cloudinary
node_meetingroutes -->|"uses cache"| node_redis
node_meetingroutes -->|"sends mail"| node_email
node_chatroutes -->|"reads and writes"| node_messagerecords
node_airoutes -->|"dispatches"| node_aicontroller
node_aicontroller -->|"caches results"| node_redis
node_teamroutes -->|"reads and writes"| node_teamrecords
node_teamroutes -->|"references"| node_userrecords
node_teamroutes -->|"references"| node_meetingrecords
node_projectroutes -->|"reads and writes"| node_projectrecords
node_projectroutes -->|"references"| node_teamrecords
node_taskroutes -->|"reads and writes"| node_taskrecords
node_taskroutes -->|"checks project"| node_projectrecords

click node_app "https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/App.jsx"
click node_authui "https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/pages/Login.jsx"
click node_dashboard "https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/pages/Dashboard.jsx"
click node_meetingui "https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/pages/Meeting.jsx"
click node_analysisui "https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/pages/Analysis.jsx"
click node_teamsui "https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/pages/Teams.jsx"
click node_shareui "https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/pages/PublicRecording.jsx"
click node_authstate "https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/store/authStore.ts"
click node_aiweb "https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/services/gemini.ts"
click node_server "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/index.js"
click node_authroutes "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/auth.js"
click node_userrecords "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/models/User.js"
click node_teamroutes "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/teams.js"
click node_teamrecords "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/models/Team.js"
click node_meetingroutes "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/meetings.js"
click node_meetingrecords "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/models/Meeting.js"
click node_chatroutes "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/chat.js"
click node_messagerecords "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/models/Message.js"
click node_airoutes "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/aiRoutes.js"
click node_aicontroller "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/controllers/aiController.js"
click node_redis "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/config/redis.js"
click node_projectroutes "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/projects.js"
click node_projectrecords "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/models/Project.js"
click node_taskroutes "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/tasks.js"
click node_taskrecords "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/models/Task.js"
click node_cloudinary "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/config/cloudinary.js"
click node_email "https://github.com/niteeshkumarraju/intellmeet/blob/main/server/services/email.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_authui,node_dashboard,node_meetingui,node_analysisui,node_teamsui,node_shareui,node_authstate,node_aiweb,node_user toneBlue
class node_meetingroutes,node_meetingrecords,node_chatroutes,node_messagerecords,node_airoutes,node_aicontroller toneAmber
class node_authroutes,node_userrecords,node_teamroutes,node_teamrecords toneMint
class node_projectroutes,node_projectrecords,node_taskroutes,node_taskrecords toneRose
class node_server,node_redis,node_cloudinary,node_email toneIndigo
```

## Components

### Client experience

- [Application router](https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/App.jsx): `client/src/App.jsx`
- [Sign in and signup](https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/pages/Login.jsx): `client/src/pages/Login.jsx`
- [Dashboard](https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/pages/Dashboard.jsx): `client/src/pages/Dashboard.jsx`
- [Meeting room](https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/pages/Meeting.jsx): `client/src/pages/Meeting.jsx`
- [Meeting analysis](https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/pages/Analysis.jsx): `client/src/pages/Analysis.jsx`
- [Teams](https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/pages/Teams.jsx): `client/src/pages/Teams.jsx`
- [Public recording](https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/pages/PublicRecording.jsx): `client/src/pages/PublicRecording.jsx`
- [Auth state](https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/store/authStore.ts): `client/src/store/authStore.ts`
- [AI client service](https://github.com/niteeshkumarraju/intellmeet/blob/main/client/src/services/gemini.ts): `client/src/services/gemini.ts`

### Meetings and AI

- [Meeting routes](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/meetings.js): `server/routes/meetings.js`
- [Meeting records](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/models/Meeting.js): `server/models/Meeting.js`
- [Chat routes](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/chat.js): `server/routes/chat.js`
- [Message records](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/models/Message.js): `server/models/Message.js`
- [AI routes](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/aiRoutes.js): `server/routes/aiRoutes.js`
- [AI processing](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/controllers/aiController.js): `server/controllers/aiController.js`

### Identity and teams

- [Auth routes](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/auth.js): `server/routes/auth.js`
- [User records](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/models/User.js): `server/models/User.js`
- [Team routes](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/teams.js): `server/routes/teams.js`
- [Team records](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/models/Team.js): `server/models/Team.js`

### Projects and tasks

- [Project routes](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/projects.js): `server/routes/projects.js`
- [Project records](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/models/Project.js): `server/models/Project.js`
- [Task routes](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/routes/tasks.js): `server/routes/tasks.js`
- [Task records](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/models/Task.js): `server/models/Task.js`

### Server platform

- [HTTP and socket server](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/index.js): `server/index.js`
- [Redis cache](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/config/redis.js): `server/config/redis.js`
- [Cloudinary storage](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/config/cloudinary.js): `server/config/cloudinary.js`
- [Email delivery](https://github.com/niteeshkumarraju/intellmeet/blob/main/server/services/email.js): `server/services/email.js`

### Other components

- **User**

## Connections

- User → Application router: uses (evidence: `client/src/App.jsx`)
- Application router → Sign in and signup: routes to (evidence: `client/src/App.jsx`)
- Application router → Dashboard: routes to (evidence: `client/src/App.jsx`)
- Application router → Meeting room: routes to (evidence: `client/src/App.jsx`)
- Application router → Meeting analysis: routes to (evidence: `client/src/App.jsx`)
- Application router → Teams: routes to (evidence: `client/src/App.jsx`)
- Application router → Public recording: routes to (evidence: `client/src/App.jsx`)
- Application router → Auth state: checks auth (evidence: `client/src/App.jsx`)
- Sign in and signup → Auth state: uses (evidence: `client/src/pages/Login.jsx`)
- Dashboard → Auth state: uses (evidence: `client/src/pages/Dashboard.jsx`)
- Meeting room → Auth state: uses (evidence: `client/src/pages/Meeting.jsx`)
- Meeting analysis → Auth state: uses (evidence: `client/src/pages/Analysis.jsx`)
- Teams → Auth state: uses (evidence: `client/src/pages/Teams.jsx`)
- Meeting analysis → AI client service: uses (evidence: `client/src/pages/Analysis.jsx`)
- Meeting room → AI client service: uses (evidence: `client/src/pages/Meeting.jsx`)
- HTTP and socket server → Auth routes: mounts (evidence: `server/index.js`)
- HTTP and socket server → Meeting routes: mounts (evidence: `server/index.js`)
- HTTP and socket server → Chat routes: mounts (evidence: `server/index.js`)
- HTTP and socket server → AI routes: mounts (evidence: `server/index.js`)
- HTTP and socket server → Team routes: mounts (evidence: `server/index.js`)
- HTTP and socket server → Project routes: mounts (evidence: `server/index.js`)
- HTTP and socket server → Task routes: mounts (evidence: `server/index.js`)
- Auth routes → User records: reads and writes (evidence: `server/routes/auth.js`)
- Auth routes → Cloudinary storage: uploads avatar (evidence: `server/routes/auth.js`)
- Auth routes → Email delivery: sends mail (evidence: `server/routes/auth.js`)
- Meeting routes → Meeting records: reads and writes (evidence: `server/routes/meetings.js`)
- Meeting routes → Cloudinary storage: uses storage (evidence: `server/routes/meetings.js`)
- Meeting routes → Redis cache: uses cache (evidence: `server/routes/meetings.js`)
- Meeting routes → Email delivery: sends mail (evidence: `server/routes/meetings.js`)
- Chat routes → Message records: reads and writes (evidence: `server/routes/chat.js`)
- AI routes → AI processing: dispatches (evidence: `server/routes/aiRoutes.js`)
- AI processing → Redis cache: caches results (evidence: `server/controllers/aiController.js`)
- Team routes → Team records: reads and writes (evidence: `server/routes/teams.js`)
- Team routes → User records: references (evidence: `server/routes/teams.js`)
- Team routes → Meeting records: references (evidence: `server/routes/teams.js`)
- Project routes → Project records: reads and writes (evidence: `server/routes/projects.js`)
- Project routes → Team records: references (evidence: `server/routes/projects.js`)
- Task routes → Task records: reads and writes (evidence: `server/routes/tasks.js`)
- Task routes → Project records: checks project (evidence: `server/routes/tasks.js`)
