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.
- 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.
- Frontend: React
- Backend: Node.js
- Video Communication: WebRTC, Agora SDK
- Real-time Interaction: Socket.IO
- 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 thechannel name
aswetalk
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'
This project is licensed under the MIT License