Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CONИ3CT

CONИ3CT is a multi video conferencing application built to provide low-latency communication that uses Selective Forwarding Unit (SFU) technology, it offers a scalable alternative to traditional Mesh WebRTC architectures.

🚀 Features

  • SFU Architecture: Efficient media routing that reduces client-side bandwidth and CPU usage.
  • Real-time Video/Audio: Media streaming with synchronized state management.
  • Persistent Room Logic: Join unique rooms with custom usernames and instant peer discovery.
  • Dynamic UI: Responsive video grid that scales based on the number of active participants.
  • Secure Authentication: Integrated Google Identity Services (GIS).

🏗️ Backend Design & Working

Unlike standard WebRTC where users send data to every other user (Mesh), CONИ3CT uses a Selective Forwarding Unit (SFU) powered by mediasoup.

  1. Signaling: A Node.js + Socket.io server handles the initial "handshake" and room logic.
  2. Transport Creation: When a user joins, the server creates WebRTC Transports for sending and receiving media.
  3. Producers & Consumers: When you join the room and getLocalMediaStream, you become a Producer. The server then creates Consumers for every other participant, forwarding your single stream to everyone else efficiently.
  4. State Sync: The backend tracks active producers and manages cleanup automatically when users disconnect to prevent "ghost" streams.

🛠️ Technology Stack

  • Frontend: React.js,CSS
  • Backend: Node.js, Express
  • Real-time Signaling: Socket.io
  • Media Server: Mediasoup (SFU)
  • Languages: JavaScript (ES6+), C++ (via Mediasoup worker)
  • Authentication: GIS Services
  • Database: MongoDB

💻 Local Setup Guide

1. Prerequisites

Because mediasoup compiles C++ code during installation, you must have the following installed:

  • Node.js: v16 or higher.
  • Python: v3.7 or higher.
  • C++ Build Tools:
    • Windows: Visual Studio Build Tools (Desktop development with C++).
    • Mac: xcode-select --install
    • Linux: sudo apt-get install build-essential python3

2. Backend Setup

  1. Clone the Repository
# Using SSH
git clone git@github.com:rohIta-k/connect.git

# OR using HTTPS
git clone https://github.com/rohIta-k/connect.git

cd connect
  1. Navigate to the server directory
    cd backend
3. Install Dependencies
```bash
npm install
  1. Create Backend Environment Variables
PORT=3001
JWT_SECRET=your_jwt_secret
FRONTEND_URL=http://localhost:5173
GOOGLE_CLIENT_ID=your_google_client_ID
SESSION_SECRET=your_session_secret
MONGO_URI=your_mongodb_connection_string
  1. Run the Server Run the app with Node:
node server.js
  1. Install Frontend dependencies
cd ..
npm install
  1. Create Frontend Environment Variable
VITE_SERVER_URL=http://localhost:3001
  1. Run the Frontend
npm run dev

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages