Coder Social home page Coder Social logo

lntel / chatroom Goto Github PK

View Code? Open in Web Editor NEW
12.0 4.0 0.0 1.27 MB

This project is a chatroom created using a MERN stack which utilises modern WebRTC technology to enable secure peer-to-peer streaming.

Home Page: https://chatroom-nine.vercel.app

License: MIT License

TypeScript 83.20% HTML 1.64% SCSS 15.16%
webrtc peerjs react react-typescript

chatroom's Introduction

Modern React Chatroom

This project is a chatroom created using a MERN stack which utilises modern WebRTC technology to enable secure peer-to-peer streaming of both peripheral devices and device streaming (screen sharing). In the background we use socket.io which enables us to communicate in real time with all the clients in the room, additionally we also utilise the peerjs library which is a wrapper for WebRTC.

Travis (.com) GitHub

Live Demo

Please feel free to try our live production demo.

Contents

Screenshots

This section contains screenshots of the design of the web application. This project was created entirely using SCSS enabled by the node-sass package. The design of this web app was primarily inspired by Discord.

Main Page

MainPage

Settings Modal

SettingModal

chatroom's People

Contributors

bigmun avatar chrisf999 avatar dependabot[bot] avatar lntel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

chatroom's Issues

Camera icon doesn't disappear

Describe the bug
When another user starts streaming and stops the camera icon remains visible within the userlist.

To Reproduce
Steps to reproduce the behavior:

  1. Get someone to start a stream while you watch
  2. Get them to end their stream
  3. You can see the icon in the user list

Expected behavior
It should usually remove the icon.

Screenshots
img

Sharescreen issue

When closing share screen from chromes "stop sharing" button the screen share video goes black but is still shown

To Reproduce Steps to reproduce the behavior:
Log in
Share screen
Click chromes "stop sharing"
See error

Capture

Desktop (please complete the following information):
OS: Win 10
Browser: Chrome
Version: 80.0.3987.163

Chat overlapping issue

An issue has occurred where the video component overlaps the chat component making it inaccessible.

Example

Can post empty message in text chat

When on text chat the user can spam Enter and post empty messages

To Reproduce Steps to reproduce the behavior:

Log in
Open text chat
Press 'Enter'
See error

The user will post an empty message in text chat

11

Desktop (please complete the following information):
OS: Win10
Browser: Chrome
Version: 85.0.4183.83

Can enter empty message in chat

Describe the bug
Can enter an empty message.

To Reproduce
Steps to reproduce the behavior:

  1. Enter a space in the chat
  2. Press enter

Expected behavior
Should filter using regex.

Duplicate of yourself within user list

Describe the bug
When you stream and stop streaming, your user profile duplicates within the user list.

To Reproduce
Steps to reproduce the behavior:

  1. Start streaming your webcam
  2. Stop streaming your webcam
  3. Check the user list for a duplicate

Expected behavior
It should simply remove the streaming icon from the user profile.

Screenshots
example

Userlist remains populated after disconnect

When being disconnected either remotely by another user or by the server itself, the user list remains populated and duplicates on reconnect. This is probably due to the state not being cleared when the disconnect event is triggered.

Participants and text chat

They both can be opened simultaneously but they overlay eachother. One needs to close when another opens

Large code blocks freeze users

Describe the bug
A large block of code such as a webpack chunk may freeze every connected client
To Reproduce
Steps to reproduce the behavior:
Send a large block of code

Expected behavior
The code is show clearly or the an error is show saying the given code is too long.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.