Skip to content

07-Mayankraj/WorkDesk-clone

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Reatime screen sharing web application..

Tech Stack

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
  • Video 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": "[email protected]",
  "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

image image image image Screenshot (520) Screenshot (522)

Releases

No releases published

Packages

No packages published

Languages

  • CSS 46.7%
  • JavaScript 23.3%
  • HTML 19.0%
  • SCSS 11.0%