/VidCall

Realtime screen sharing ,Video call and Messaging web application.

Primary LanguageCSS

icon

Talkies - Real Time Screen Sharing Chat Application

Takies is a communications platform that allows users to connect with video, audio, screen share, and chat. The power of collaboration is that it can turn a group of individuals into a team empowered to achieve great things Talkies is a type of application that enables users to share their computer screens with others in real-time over the internet. It includes features that allows user to chat, video call, screen share with each other.

Tech Stack

Client: HTML | CSS | Javascript | Bootsrap | External CSS library

Server: Node.js | Express.js | MongoDB | WebRTC | PeerJS library | Socket.io | Bcrypt | PassPort | cors | Redis | JWT

github: To maintain repository and collabration and version control.

VS Code: To write HTML,CSS and JavaScript code.

Microsoft Edge,Google Chrome & Mozilla Firefox: To check the functionality and run the code.

Frontend Part

  • Home page
  • Login/Signup
  • Dashboard
  • Google OAuth
  • Github OAuth

Backend Part

  • Authentication using JWT
  • implementation using Socket.io
  • fully functional Video, Audio and Screen Share icons

Database

  • MongoDB
  • Redis

Features

  • Screen Sharing
  • Chatting
  • Video Calling

Application Guide to use features

To use {Screen share} feature -->

  • First Create room
  • User can share the screen
  • 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 -->

  • First Create room
  • User can join the room using room ID after login
  • Time is displayed of message
  • Notifies User info

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.")
    })

Group Members Info

  1. Kirti Shinde(Team Lead)

  2. Love Porwal

  3. Rishab Kumar Chaurasiya

  4. Pankaj Jain

  5. Veeresh S P


Complete Work-flow of Talkies

work-flow

home page

home page

footer page

footer page

sigin page

sigin page

login page

login page

dashboard page

dashboard page

video chat platform

video chat platform