SyncoraCall is a robust, premium MERN-stack video conferencing application built to provide a seamless, low-latency communication experience. Featuring real-time signaling via Socket.io and high-quality peer-to-peer media streams with WebRTC (Simple-Peer), SyncoraCall is designed for both 1-to-1 and group collaboration.
- 👤 Instant 1-to-1 Calls: Direct calling with high-fidelity audio/video.
- 👥 Group Meetings: Seamlessly join room-based meetings for team collaboration.
- 🖥️ HD Screen Sharing: Share your entire screen or specific windows with peers in real-time.
- 🔒 Secure Authentication: JWT-based login and signup system for private user profiles.
- 📱 Responsive & Modern UI: A premium, mobile-first design leveraging Tailwind CSS, Framer Motion, and Lottie Animations.
- 🔔 Real-Time Signaling: Instant call notifications and user-online status tracking.
- 🔇 Media Controls: Integrated toggles for microphone, camera, and end-call actions.
- React.js (Vite) — Fast, component-based UI development.
- Tailwind CSS — Modern utility-first styling with Glassmorphism.
- Simple-Peer — Lightweight WebRTC wrapper for P2P connections.
- Socket.io Client — Real-time event communication.
- Lucide Icons & React Icons — Vibrant and consistent iconography.
- Node.js & Express.js — Scalable and high-performance server architecture.
- Socket.io — Real-time signaling server.
- MongoDB & Mongoose — Document-oriented data storage with robust modeling.
- JWT (JSON Web Tokens) — Secure, stateless session management.
- Node.js (v16+)
- MongoDB Atlas account (or local MongoDB)
-
Clone the repository:
git clone https://github.com/dharmendra4522/SyncoraCall.git cd SyncoraCall -
Backend Setup:
cd server npm install # Create a .env file and add your MONGOOSE_CONNECTION and PORT npm start
-
Frontend Setup:
cd ../client npm install # Create a .env file and add your VITE_API_BASE_URL npm run dev
To run this project, you will need to add the following environment variables to your .env files:
Server (/server/.env):
PORT: 3000MONGOOSE_CONNECTION: Your MongoDB URIJWT_SECRET: A secure random stringFRONTEND_URL: https://syncora-call.vercel.app/
Client (/client/.env):
VITE_API_BASE_URL: https://syncoracall-backend.onrender.com/api/VITE_API_SOCKET_URL: https://syncoracall-backend.onrender.com
SyncoraCall uses a hybrid architecture for maximum performance:
- Signaling Server: An Express/Socket.io server handles the "handshake" between users.
- P2P Connection: Once the handshake is complete, the
Simple-Peerlibrary establishes a direct WebRTC connection for the media stream, bypassing the server to ensure minimum latency. - Room Logic: Dynamic room IDs allow users to create and share unique meeting spaces instantly.
SyncoraCall was designed with a focus on "Premium Aesthetics":
- Dark Mode by default for reduced eye strain.
- Backdrop Blurs and Gradients for a modern glassmorphism feel.
- Smooth Micro-animations for improved user engagement.
Dharmendra Vishwakarma
Full Stack Developer
LinkedIn | Email | Portfolio
⭐ Star this repository if you find it useful!