ConvoFlow is a peer-to-peer video conferencing React application inspired by Omegle. It allows users to engage in video calls with strangers in a seamless and user-friendly interface.
- Peer-to-Peer Video Calls: Utilizing WebRTC technology, ConvoFlow enables direct video calls between users without the need for a central server.
- Random Matching: Similar to Omegle, users are randomly matched with each other for spontaneous video conversations.
- React-based Interface: Built using React.js, ConvoFlow offers a modern and responsive user interface for an optimal user experience.
- Metered Turn Servers: ConvoFlow leverages Metered.ca, a third-party service, for TURN servers to facilitate peer-to-peer connections, ensuring reliable and secure communication.
To run ConvoFlow locally, follow these steps:
-
Clone this repository to your local machine.
-
Install dependencies by running
npm install
-
Start the development server with
npm run dev
-
Navigate to backend folder and Install the dependices
-
The server will start at port 3000
-
Open your browser and navigate to
http://localhost:5173
.
- Upon opening the application, users are prompted to allow access to their camera and microphone.
- Once access is granted, users are matched with a random peer and can initiate a video call.
- During the call, users can interact with each other via video and audio.
- To end the call, users can simply close the browser tab or click on the end call button.
If you wish to use your own TURN server or another service for handling peer connections, you can configure it in the application settings.
- React.js
- WebRTC
- Metered.ca (for TURN servers)
- Plannig to impelement own TURN server in AWS
Contributions are welcome! Feel free to submit issues or pull requests to help improve ConvoFlow.
@###########################################^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@@@@@@@@@@@@@@@@@@