Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sankalpbahad/p2p-video-calling-app

A Peer to Peer Video calling application with room audio call and chat functionality build using webrtc and socket.
https://github.com/sankalpbahad/p2p-video-calling-app

gitlab imagekit mongodb nodejs npm reactjs render socketio webrtc webrtc-video

Last synced: about 1 month ago
JSON representation

A Peer to Peer Video calling application with room audio call and chat functionality build using webrtc and socket.

Awesome Lists containing this project

README

        

# P2P Video Chat App

Simple Web Application that offer you to create video and audio calling room as well as chat with other users using WebRTC and Socket.

## Prerequisites
You have to install Node.js and React JS in your machine.

## Installing
```bash
npm install in both frontend and backend folders
To run backend - npm run dev
To run frontend - npm start
```

## Features
```
Refer to the uploaded video for a clear working of app and features
```
- Register to create an account or login if account already exists
( Done authentication for repeat emails and phone numbers )

- For chatting go to chat page and you can send text or image to your friend.
( Used Socket.io and ImageKit API for the above purpose and to store messages used MONGODB database )

- For Video or audio call go to video call page and audio call page respectfully then either create a room or join using the same ID as of your friend.
( Used WEBRTC for the implementing both the features )

- Implemented protected routing to prevent accessing the pages without being logged in(done using Json Web Token authentication)

- Profile page to display the user information

- Also deployed the app on render

## Built With

* Node Js - The Backend
* React JS - The Frontend
* SocketIo - For realtime communication
* NPM - Dependency Management
* GITLab - Used for version control
* WEBRTC - For video and audio calling
* MONGODB - For storing the user information and chats
* ImageKit - For storing images used in chat
* Render - Used to Deploy Node.js applications

## Other Contributers

* Yash Kawade
* Aabid Raina
* Abhinay Maurya