How raunak-dubey1/fluentbridge works
FluentBridge connects language-exchange users through onboarding, friend discovery and requests, then chat and video calling. The frontend provides authentication, profiles, friend and notification views, and chat/call pages; its API client talks to an Express backend that authenticates users, manages friend relationships, and issues Stream credentials. MongoDB stores user and friend-request data, while Stream supplies real-time communications. Several page and route implementations were not sampled, so their internal links are omitted or marked unverified.
Main entry points: api.js Frontend API client · server.js Express application · auth.route.js Authentication routes · auth.controller.js Auth and onboarding
Components 24
Web client
- Application shell
frontend/src/App.jsx - Login and signup
frontend/src/pages/LoginPage.jsx - Profile onboarding
frontend/src/pages/OnboardingPage.jsx - Friend and alerts views
frontend/src/pages/FriendPage.jsx - Home discovery
frontend/src/pages/HomePage.jsx - Chat interface
frontend/src/pages/ChatPage.jsx - Video call interface
frontend/src/pages/CallPage.jsx
Identity and profiles
- Auth user query
frontend/src/hooks/useAuthUser.js - Frontend API client
frontend/src/lib/api.js - HTTP transport
frontend/src/lib/axios.js - Authentication routes
backend/src/routes/auth.route.js - Auth and onboarding
backend/src/controllers/auth.controller.js - JWT route guard
backend/src/middleware/auth.middleware.js - User records
backend/src/models/User.js
Friend exchange
- Friend operations
backend/src/controllers/user.controller.js - User routes
backend/src/routes/user.route.js - Friend requests
backend/src/models/FriendRequest.js
Real-time services
- Stream token endpoint
backend/src/controllers/chat.controller.js - Chat routes
backend/src/routes/chat.route.js - Stream integration
backend/src/lib/stream.js
Other components
- Language learners
- Stream service
- Express application
backend/src/server.js - MongoDB connection
backend/src/lib/db.js
Connections 27
- Language learners → Application shell: uses
- Auth user query → Frontend API client: queries
frontend/src/hooks/useAuthUser.js - Frontend API client → HTTP transport: sends requests
frontend/src/lib/api.js - Frontend API client → Authentication routes: calls auth endpoints
frontend/src/lib/api.js - Frontend API client → User routes: calls user endpoints
frontend/src/lib/api.js - Frontend API client → Chat routes: requests chat token
frontend/src/lib/api.js - Authentication routes → Auth and onboarding: routes requests
backend/src/routes/auth.route.js - Authentication routes → JWT route guard: guards onboarding
backend/src/routes/auth.route.js - JWT route guard → User records: loads user
backend/src/middleware/auth.middleware.js - Auth and onboarding → User records: creates and updates
backend/src/controllers/auth.controller.js - Auth and onboarding → Stream integration: upserts profile
backend/src/controllers/auth.controller.js - Stream integration → Stream service: manages Stream users
backend/src/lib/stream.js - User routes → Friend operations: routes requests
backend/src/routes/user.route.js - Friend operations → User records: reads and updates
backend/src/controllers/user.controller.js - Friend operations → Friend requests: creates and queries
backend/src/controllers/user.controller.js - Chat routes → Stream token endpoint: routes token request
- Stream token endpoint → Stream integration: generates token
backend/src/controllers/chat.controller.js - Express application → Authentication routes: mounts
backend/src/server.js - Express application → User routes: mounts
backend/src/server.js - Express application → Chat routes: mounts
backend/src/server.js - Express application → MongoDB connection: connects
backend/src/server.js - Login and signup → Frontend API client: uses auth calls
- Profile onboarding → Frontend API client: submits profile
- Home discovery → Frontend API client: loads recommendations
- Friend and alerts views → Frontend API client: manages requests
- Chat interface → Frontend API client: requests chat access
- Video call interface → Stream service: communicates by video