Skip to content

Video Conferencing App based on Agora-SDK & Socket.io

License

Notifications You must be signed in to change notification settings

pooranjoyb/We_Talk

Repository files navigation

We-Talk 🌐

WeTalk is a web-based video conferencing application that facilitates seamless real-time communication and collaboration across geographical barriers. It integrates WebRTC and Agora SDK for peer-to-peer (P2P) video communication. With Socket.IO, WeTalk enhances interaction through real-time chat functions, enabling participants to exchange text messages alongside video sessions.

Features:

  • Real-time Video Conferencing: Conduct high-quality video conferences with minimal latency.
  • Peer-to-Peer Communication: Utilize WebRTC for direct P2P connections, ensuring efficient and secure transmission of video and audio streams.
  • Interactive Chat: Exchange text messages in real-time during video sessions.
  • Scalable and Secure Architecture: Designed to handle scalability needs while prioritizing security and privacy concerns.

Tech Stack:

  • Frontend: React
  • Backend: Node.js
  • Video Communication: WebRTC, Agora SDK
  • Real-time Interaction: Socket.IO

Getting Started:

  • Clone the repository
  git clone https://github.com/pooranjoyb/We_Talk.git
  • Install the dependencies
  npm install
  cd client && npm install
  • Setup MongoDB collection in your local machine

    • Enter MongoDB shell
     mongosh 
    • Create a database called wetalk
     use wetalk
    • Create the following collections
    db.createCollection("users")
    db.createCollection("rooms")
    db.createCollection("chats")
  • Create an Agora Account and add the Agora SDK AppId & TOKEN. Remmeber to keep the channel name as wetalk while creating the project.

    cd client
    nano .env
    
    # Add these in the .env file
    
    REACT_APP_API_URL=http://localhost:5000
    REACT_APP_AGORA_APP_ID=your_agora_app_id
    REACT_APP_AGORA_TOKEN=your_agora_sdk_temp_webrtc_token
  • Start the server and client from the root directory (both in seperate terminals).

  npm run server
  npm run dev

` All Set! You can checkout the project live in your local machine :)

(In case your database doesn't get connected update the following)

  cd utils && nano db.js
  const MONGODB_URI = 'mongodb://127.0.0.1:27017/wetalk'

Screenshots

License

This project is licensed under the MIT License

About

Video Conferencing App based on Agora-SDK & Socket.io

Resources

License

Stars

Watchers

Forks