Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Connect and study together with friends over text and voice channels, over a click of a button. Web application for chat and audio streaming.

Notifications You must be signed in to change notification settings

sudheer1212/Study-Room

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Study-Room ( ....Chat, Talk, Study )

Study, collaborate, conference ... over click of a button. A fully functional web application where students can join in room, and communicate in text and audio channels.The application connects peers using WebSockets and WebRTC. Check it out at https://mystudyroom.netlify.app

Desktop and Mobile Views

The application is compatible with both desktop and mobile phones. 

Blog describing how the entire system works

https://sudheer.hashnode.dev/how-mutimedia-streamig-apps-work

Features

  • Chat using text and voice channels
  • Easy to use UI with everything on one screen
  • Mobile Compatibility
  • Connect with multiple people by choosing unique room ids

Technologies Used

  • Server - Nodejs
  • Client - Reactjs
  • Chat - WebSockets
  • Voice - WebRTC

The need of WebSockets and WebRTC ( short summary )

What's the best application level protocol for enabling a bidirectional communication channel(i.e both client and server can update each other at any time) ?. HTTP works fine when the client has to request data fewer times. HTTP opens up a connection and closes the connection as soon as it gets required response. In case of a chat application we continuously need to listen for data from server, one solution is keep requesting the server for data every few milliseconds, but its resource consuming for both the sides. The solution is WebSockets, it enables a full-duplex bidirectional communication, that is, the client is always ready to listen for data pushed by server. But WebSockets are still not peer to peer, in case of audio/video streaming between multiple peers, creating a direct peer to peer connection is a better option (because loads of data is being streamed), but this is also one of the most difficult things to do. WebRTC helps us create a direct peer to peer connetion. WebRTC is one of the most complex communication protocols because it tries all possible ways to create a peer - peer connection, if it still fails then the data is relayed via a TURN server.

About

Connect and study together with friends over text and voice channels, over a click of a button. Web application for chat and audio streaming.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 74.5%
  • CSS 18.2%
  • HTML 6.7%
  • Shell 0.6%