added readme file

Signed-off-by: heyhiru <hirentimbadiya74@gmail.com>
Este commit está contenido en:
heyhiru
2023-11-17 01:59:48 +05:30
padre 3d97747567
commit 635df70db8

90
README.md Archivo normal
Ver fichero

@@ -0,0 +1,90 @@
# VideoPeers - Real Time P2P Video Chat Application
## Description
This is a real time video chat application built using WebRTC, Socket.io, Node.js, Express.js, and Next.js. It allows users to create a room and share the room ID with other users to join the room for a peer-to-peer video call.
## Key Features
- [x] Create and join video chat rooms using room IDs
- [x] Real-time peer-to-peer video calling using WebRTC
- [x] Audio mute/unmute controls
- [x] Video Hold/Play controls
- [x] Call End option
- [x] Responsive Design
- [x] Built with Next.js, Node.js, Express, Socket.io
## Technologies used / Prerequisites Of The Project
- [Next.js](https://nextjs.org/) - React framework
- [WebRTC](https://webrtc.org/) - Real-time communication
- [Socket.io](https://socket.io/) - Bidirectional communication
- [Node.js](https://nodejs.org/) - Backend runtime
- [Express](https://expressjs.com/) - Node.js framework
- [Tailwind CSS](https://tailwindcss.com/) - Styling
## Installation
1. Clone the repository
```bash
git clone https://github.com/hirentimbadiya/Video-Peers.git
```
2. Install dependencies for Client Side
```bash
cd client #in Video-Peers/client
npm install
```
3. Install dependencies for Server Side
```bash
cd server #in Video-Peers/server
npm install
```
4. Run the application
- Run the client side
```bash
cd client #in Video-Peers/client
npm run dev
```
- Run the server side
```bash
cd server #in Video-Peers/server
npm run dev
```
## Video Demo
## Future Scope
- Text chat support in rooms
- Screen Sharing Feature
- Multiple Participants in a room
- Video recording option
## My Learnings
By Building this project I learned about the following concepts:
- WebRTC (Web Real-Time Communication) is a technology that enables real-time peer-to-peer communication between browsers and mobile applications. It is an open-source and free project that used to provide web browsers and mobile applications with real-time communication (RTC) via simple application programming interfaces (APIs).
- Socket.IO is a library that enables real-time, bidirectional and event-based communication between the browser and the server. It consists of: a Node.js server: Source | API. a Javascript client library for the browser (which can be also run from Node.js): Source | API.
- Next.js is a React framework that enables several server-side rendering (SSR) features such as static site generation (SSG), automatic code splitting, server-side rendering, and client-side routing. It is a framework that is built on top of React.js and Node.js.
## License
[MIT](https://choosealicense.com/licenses/mit/)
## Author
- [hirentimbadiya](https://github.com/hirentimbadiya)
- Email : hirentimbadiya74@gmail.com