Skip to content

Latest commit

 

History

History
156 lines (111 loc) · 4.65 KB

File metadata and controls

156 lines (111 loc) · 4.65 KB

logo

Reatime screen sharing web application..

Tech Stacks Used

html CSS js nodejs express mongo redis npm

Client: HTML,CSS, Javascript,Bootsrap

Server: Node.js, Express.js , MongoDB, WebRTC, PeerJS library, Socket.io

Frontend Part

  • Home page
  • Login/Signup

Backend Part

  • Authentication using JWT
  • Mongoose - connecting the database
  • Server side -->> Node.js and Express

Database -

- MongoDB

Features

  • Screen Sharing
  • Chatting
  • Vedio calling

Application Guide

To use {Screen share} feature -->

  • First Create room
  • User can share the screen
  • Than user can join the room using room ID
  • Enter room ID to join

Stop share -->

  • Click on stop share option

To use {Video calling} feature -->

  • First Create room
  • User can join the call by using the room ID
  • To end the call click on hang on button

To use {Chat} feature -->

  • Enter the user name
  • User can chat with online users
  • For online users it will show green tick

Examples

Creating connection and accessing user media .

    peer = new Peer(room_id);
    peer.on('open', (id) => {
        console.log("Peer has joined ID no", id);
        hideModal()
        // media options...
        getUserMedia({ video: true, audio: true },
            (stream) => {
                local_stream = stream;
                setLocalStream(local_stream)
            }, (err) => {
                console.log(err);
            })
        notify("Waiting for the member to join.")
    })

Backend api endpoints

create user -> post: localhost:8080/user/register
sample data :

{
  "name": "User",
  "email": "User@gmail.com",
  "password": "User"
}

  • login user -> post : localhost:8080/user/login

  • get new token -> get : localhost:8080/newtoken

  • logout user -> get : localhost:8080/logout

  • get all user -> get : localhost:8080/user

  • get one user -> get : localhost:8080/user/id

    while making get request from fontend we need to send access_key(presented in .env)


github Oauth

1. Route login,dashboard 
2. impelement auth 
3. sessions
4. protected
5. logout 

Installation

To install the WorkDesk, follow these steps:

  1. Clone the repository:
https://github.com/deepakChourasiya-aj/melted-group-7444.git
  1. Install the dependencies:
cd melted-group
npm install

Start the server:

npm run server

You are good to go


System_design

Untitled Diagram

Screenshot (517)

Screenshot (518) Screenshot (519) image Screenshot (520) Screenshot (522)