How pratham-mehta07/syncup works
SyncUp is a browser-based video-meeting application. Users enter through the React app, authenticate or choose a meeting room, then use the meeting page for peer video/audio, in-meeting chat, and host-managed admission. The backend serves account APIs and coordinates room membership, signaling, participant updates, and chat over Socket.IO; account records are stored in MongoDB. The README also describes room-code management and responsive UI. Chat and several page implementations were not sampled, so their internal wiring is shown only where supported by the documented product flow.
Main entry points: VideoMeet.jsx Meeting page · App.jsx App routes · main.jsx React entry · authentication.jsx Auth screen
Components 19
Web client
- React entry
frontend/src/main.jsx - App routes
frontend/src/App.jsx - Landing page
frontend/src/pages/landing.jsx - Home page
frontend/src/pages/home.jsx - Auth screen
frontend/src/pages/authentication.jsx
Account services
- Auth context
frontend/src/context/AuthContext.jsx - Auth guard
frontend/src/utils/withAuth.jsx - Express API
backend/src/app.js - User routes
backend/src/routes/users.routes.js - Account controller
backend/src/controllers/user.controller.js - User model
backend/src/models/user.model.js
Meeting coordination
- Meeting page
frontend/src/pages/VideoMeet.jsx - Chat page
frontend/src/pages/Chat.jsx - Room coordinator
backend/src/controllers/socketmanager.js
Realtime media
- Socket.IO transport
- Browser media
Other components
- Meeting user
- MongoDB
- Meeting peers
Connections 19
- Meeting user → React entry: opens
- React entry → App routes: renders
- App routes → Landing page: routes
- App routes → Home page: routes
- App routes → Auth screen: routes
- App routes → Meeting page: routes
- Auth screen → Auth context: submits credentials
- Auth context → Express API: posts account data
- Express API → User routes: mounts routes
- User routes → Account controller: dispatches
- Account controller → User model: reads and saves
- User model → MongoDB: persists users
- Meeting page → Auth guard: checks session
- Meeting page → Socket.IO transport: connects and emits
- Socket.IO transport → Room coordinator: dispatches events
- Room coordinator → Socket.IO transport: broadcasts events
- Meeting page → Browser media: captures media
- Meeting page → Meeting peers: exchanges WebRTC media
- Meeting page → Chat page: opens chat