How gireesh2658/nexus works
Nexus is a video-meeting and collaboration platform with a browser client, an authenticated signaling/API server, and an optional Python analysis service. The main user journey is sign in, create or join a meeting, collaborate live, then view meeting intelligence and a summary. The README documents messaging, whiteboards, facial tracking, transcription, analytics, and AI debriefs; these are represented where the tree supports them. Several analysis routes and workers are unsampled, so their internal wiring is shown only where documented or evidenced by sampled source.
Main entry points: server.ts HTTP and socket server · MeetingRoom.tsx Meeting and lobby UI · main.py Analysis API · room_egress_worker.py Room egress worker
Components 28
Web client
- React application
frontend/src/App.tsx - Protected routes
frontend/src/routes.tsx - Meeting and lobby UI
frontend/src/pages/MeetingRoom.tsx - Meeting API client
frontend/src/services/meetingService.ts - Authentication client
frontend/src/services/authService.ts - Realtime client
frontend/src/services/socket.ts - Face tracking
frontend/src/hooks/useFaceMesh.ts
Signaling and meetings
- HTTP and socket server
signaling-server/src/server.ts - Auth routes
signaling-server/src/routes/authRoutes.ts - Auth controller
signaling-server/src/controllers/authController.ts - Meeting routes
signaling-server/src/routes/meetingRoutes.ts - Meeting controller
signaling-server/src/controllers/meetingController.ts - Meeting coordination
signaling-server/src/sockets/meetingHandler.ts
Analysis pipeline
- Analysis API
analysis-api/app/main.py - Analysis endpoints
analysis-api/app/routers - Room egress worker
analysis-api/app/workers/room_egress_worker.py - Speech transcription
analysis-api/app/ml/transcriber.py - Transcript sink
analysis-api/app/workers/transcript_sink.py - Telemetry sink
analysis-api/app/workers/telemetry_sink.py - Meeting summarizer
analysis-api/app/workers/meeting_summarizer.py
External services
- Application database
signaling-server/src/config/db.ts - Redis
signaling-server/src/config/redis.ts - Kafka topics
- LiveKit WebRTC
- Gemini AI
- Email delivery
signaling-server/src/services/mailer.ts - Browser media
Other components
- Meeting participant
Connections 38
- Meeting participant → React application: uses
- React application → Protected routes: renders
- Protected routes → Meeting and lobby UI: routes to
- React application → Authentication client: restores session
- Authentication client → HTTP and socket server: requests auth
- Meeting and lobby UI → Meeting API client: requests meetings
- Meeting API client → HTTP and socket server: calls API
- Meeting and lobby UI → Realtime client: opens realtime
- Realtime client → HTTP and socket server: connects socket
- HTTP and socket server → Auth routes: dispatches
- Auth routes → Auth controller: dispatches
- HTTP and socket server → Meeting routes: dispatches
- Meeting routes → Meeting controller: dispatches
- Auth controller → Application database: reads/writes users
- Auth controller → Redis: stores tokens
- Meeting controller → Application database: reads/writes meetings
- Meeting controller → LiveKit WebRTC: creates join token
- Meeting controller → Email delivery: sends debrief
- HTTP and socket server → Meeting coordination: sets up handler
- Meeting coordination → Application database: updates participants
- Meeting and lobby UI → LiveKit WebRTC: joins media room
- Meeting and lobby UI → Face tracking: runs tracking
- Face tracking → Browser media: reads video frames
- Face tracking → Analysis API: sends landmarks
- HTTP and socket server → Analysis API: serves separately
- Analysis API → Analysis endpoints: registers endpoints
- Analysis API → Redis: initializes client
- Analysis API → Kafka topics: initializes producer
- Kafka topics → Room egress worker: dispatches room events
- Room egress worker → LiveKit WebRTC: joins room
- LiveKit WebRTC → Room egress worker: streams media/events
- Room egress worker → Speech transcription: transcribes audio
- Room egress worker → Kafka topics: publishes telemetry/transcripts
- Kafka topics → Transcript sink: delivers transcripts
- Kafka topics → Telemetry sink: delivers telemetry
- Kafka topics → Meeting summarizer: delivers meeting data
- Meeting summarizer → Gemini AI: generates debrief
- Meeting summarizer → Application database: stores summary