From 635df70db8e17c14527356800493d97917c6699f Mon Sep 17 00:00:00 2001 From: heyhiru Date: Fri, 17 Nov 2023 01:59:48 +0530 Subject: [PATCH] added readme file Signed-off-by: heyhiru --- README.md | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..6de8299 --- /dev/null +++ b/README.md @@ -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 \ No newline at end of file