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=https://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:https://127.0.0.1:27017/wetalk'
![](https://private-user-images.githubusercontent.com/90945182/326248790-2ebd9c91-3dfe-475e-8494-1571c5cfd3f5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2MzU1MTQsIm5iZiI6MTcyNTYzNTIxNCwicGF0aCI6Ii85MDk0NTE4Mi8zMjYyNDg3OTAtMmViZDljOTEtM2RmZS00NzVlLTg0OTQtMTU3MWM1Y2ZkM2Y1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA2VDE1MDY1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE0MzcyMzdmNTBkZjdjYzUyMGExM2Y3NTAyYTFiNjkxOGZlMTdiODYxOWRlOGQ4MGZhNGVkOTQ0ZDdhMTRlNzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.4t72umDsmsTZ92pDuo-qlWvPRqUnCF1I_EnXU-N3Dos)
![](https://private-user-images.githubusercontent.com/90945182/326248868-c0180bb2-e488-4460-a643-03d54a1c705f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2MzU1MTQsIm5iZiI6MTcyNTYzNTIxNCwicGF0aCI6Ii85MDk0NTE4Mi8zMjYyNDg4NjgtYzAxODBiYjItZTQ4OC00NDYwLWE2NDMtMDNkNTRhMWM3MDVmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA2VDE1MDY1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRkMzcyMWQyZjgyNGVjZWVjMWYwYWNkZWFlNTQxZjc1ZDk2ZTY4ZTZkZDQwZmM4ZTNiYjI3MGU5YTgyMzhjNDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.3JgIwjckAF8fQOJV1cb5uax8trnTfdM5gTwEjQ33JAE)
![](https://private-user-images.githubusercontent.com/90945182/326249026-b9978234-de8e-4928-9eae-d9272ceafc10.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2MzU1MTQsIm5iZiI6MTcyNTYzNTIxNCwicGF0aCI6Ii85MDk0NTE4Mi8zMjYyNDkwMjYtYjk5NzgyMzQtZGU4ZS00OTI4LTllYWUtZDkyNzJjZWFmYzEwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA2VDE1MDY1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc1YTE1OGQ0ZTA3ODFmZmUxMDg1ZWIwYWNkODkzZGE3MzExYmVkNjMwODk3MzFiZTFhMjU5ZjU3MjE0NmYzOGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.LyzwE88U14K2z2xqCGuc-B1Sll-uGtT77uCy668mKMI)
This project is licensed under the MIT License