This project is a part of the 'Build Phase' of the flagship Microsoft Engage Mentorship Programme 2021.
Full stack MERN Web App with React hooks, Redux, WebRTC, Socket.io & JWT authentication along with Google OAuth.
This is a project that I built under the "Microsoft Engage Mentorship Programme 2021".
I have successfully built the basic functionality, surprise feature (chat functionality) and additional functionalities that have been documented below.
I have used the agile methodology and have worked in sprints of 1 week. I've worked on one or two features per Sprint and then got them reviewed in the 1 on 1 meetings with the mentors.
Table of Contents
💻 A MERN Stack Video and Chat Application made using React hooks, Redux, WebRTC, Socket.io & JWT authentication along with Google OAuth.
Landing Page
Sign in Page
Sign up Page
Video App and Chat App Page
Video App functionality using WebRTC, Socket.io using UUID for each chat room.
Reactjs
Axios : To send asynchronous HTTP requests to REST endpoints
Simple-peer : WebRTC video, voice, and data channels
React router dom
Shortid : To create a UUID
Socket.io-client : To enable real-time bidirectional event-based communication.
NodeJs ExpressJs Socket.io
MongoDB
|-- middlewares
|-- models
|-- routes
|-- passport-setup
`-- client
`-- src
|-- components
| `-- chat
| `-- header
| `-- HomePage
| `-- Login_Signup
| `-- Video_app
| `-- alert.js
|-- images
|-- reducers
|-- routes
|-- utils
|-- app.css
|-- app.js
|-- index.css
|-- index.js
- Two people video conferencing
- Video on/off Button
- Audio on/off Button
- Call decline and Accept button
- Chat Functionality with rooms
- Authentication using JWT
- Google OAuth - login & signup
- Dynamic Error Handling at login and signup
$ npm install
To run the server (PORT: 5000) and react script (PORT: 3000) concurrently
$ npm run dev
JavaScript Mastery : https://github.com/adrianhajdin True Coder : https://github.com/sefyudem DevEd : https://github.com/developedbyed