WebRTC based peer to peer video calling and messaging web app build with MERN stack.

Overview

talkhouse

WebRTC based peer to peer video calling and messaging web app build with MERN stack.

Demo

Libraries used

  • React for frontend
  • Socket.io as signaling server and realtime communication
  • simple-peer for peer-to-peer WebRTC connections
  • Express as server
  • MongoDB for persistance of data
  • Material UI for creating ui
  • Redux for state management
  • Typescript for type safety, cure for headache you get when props are flowing all over the app with no hint

Features

  • User authentication and authorization
  • Audio and Video Chat
  • Messaging with storage of messages in the database
  • Sending invitation to friends
  • Able to accept or reject an invitation
  • Online indicator
  • Notify on typing
  • Sceen sharing

and more....

Installation

  1. Clone project
git clone [email protected]:saalikmubeen/talkhouse.git

Manual

If you dont't have docker installed, or don't know how to docker, [who doesn't know docker in the first place 😑 ]

cd into root project

1. cd server

npm install to to install server dependencies

Setup required environment variables:

  • MONGO_URI_DEV
  • JWT_SECRET

npm run dev to start development server with nodemon

Make sure you have mongoDB installed

1. cd client

npm install installs client dependencies.

npm run start to start the react development server.

Docker

Running project through docker is recommended. You don't have to do any setup. Just one docker-compose command and boom project is up and running 😊

docker-compose up --build

Make sure you have docker installed

TODOS

  • Enable group vdeo and messaging functionality
  • Implement confirm email, reset password and email sending on friend invitation, Not a big deal to implement, just a little lazy to implement it
  • Allow end to end encryption of messages
  • Enhace the UI. I hate CSS, not that good at it 🥱 😓
You might also like...

Mini Projeto de um chat-app usando o protocolo WebSocket através da lib 'ws' do node.js

Mini Projeto de um chat-app usando o protocolo WebSocket através da lib 'ws' do node.js

CHAT-APP-WEBSOCKET Mini Projeto de um chat-app usando o protocolo WebSocket através da lib 'ws' do node.js Obs o intuito deste projeto não é o fronten

Jul 14, 2022

SpaceChat - a realtime chat app that allows you to chat with your friends in pairs as well as in groups

SpaceChat - a realtime chat app that allows you to chat with your friends in pairs as well as in groups

A socket.io based real time chat app where you can perform one-to-one chats as well as group chats! Built using MERN stack, this project implements all core functionalities like User Authentication, Web Sockets, CRUD Operations, Routing and much more!

Aug 1, 2022

An example about web socket with .net 3.1 and react

An example about web socket with .net 3.1 and react

Websocket Example This is a real time app example which is using web socket, dot net core and react. Project Case You are a factory manager and you ha

Jan 11, 2022

Super-Resolution-CNN - web server for super-resolution CNN

Super-Resolution-CNN - web server for super-resolution CNN

Web Server for Image Super-Resolution This project showcases the Super-Resolution CNN (SRCNN). The model is pretrained following this tutorial. The or

Jan 3, 2022

Simple to use, blazing fast and thoroughly tested WebSocket client and server for Node.js

ws: a Node.js WebSocket library ws is a simple to use, blazing fast, and thoroughly tested WebSocket client and server implementation. Passes the quit

Jan 4, 2023

Simple realtime chat application made by NodeJS, Express, Socket.io and Vanilla Javascript. This project is made to discover socket.io and understand its basic features.

LearnByChat App Simple realtime chat application made with NodeJS, Express, Socket.io and Vanilla Javascript. This project is made to discover socket.

Dec 19, 2021

A node.js module for websocket server and client

Nodejs Websocket A nodejs module for websocket server and client How to use it Install with npm install nodejs-websocket or put all files in a folder

Dec 13, 2022

Standards-compliant WebSocket client and server

faye-websocket This is a general-purpose WebSocket implementation extracted from the Faye project. It provides classes for easily building WebSocket s

Dec 23, 2022

Lightweight WebSocket lib with socket.io-like event handling, requests, and channels

ws-wrapper Lightweight and isomorphic Web Socket lib with socket.io-like event handling, Promise-based requests, and channels. What? Much like Socket.

Dec 23, 2022
Comments
  • How to demo this?

    How to demo this?

    This is a great project.

    What's the best way to demo this? I keep getting stuck with "Sorry, the user you are trying to invite doesn't exist".

    Screen Shot 2022-04-26 at 12 30 57 PM
    opened by matthannam 2
Owner
Saalik Mubeen
Software Developer | React.js and GraphQL Enthusiast | NIT Sgr' 23
Saalik Mubeen
Full-Stack Instgram Clone using MERN Stack and Socket.io

Instagram MERN Full-Stack Instgram Clone using MERN Stack and Socket.io Visit Now ?? ??️ Tech Stack Frontend: Backend: Realtime Communication: Cloud S

Jigar Sable 326 Dec 27, 2022
A Develop Tool to Test WebSocket, Socket.IO, Stomp, Bayeux, HTTP, TCP, UDP, WebRTC, DNS API.

A Develop Tool to Test WebSocket, Socket.IO, Stomp, Bayeux, HTTP, TCP, UDP, WebRTC, DNS API.

York Yao 24 Sep 6, 2022
How to build a chat using Lambda + WebSocket + API Gateway? (nodejs)

Description Source code for the lambda function from the screencast How to build a chat using Lambda + WebSocket + API Gateway? (nodejs) The reactjs c

Alex 21 Dec 28, 2022
A simple web app that people can chat and send images into.

Typsnd Typsnd. Type, send. It's as simple as that. Typsnd is a simple web app that people can chat and send images into. It is based on Express.JS, No

null 10 Nov 10, 2022
A Promise-based API for WebSockets

websocket-as-promised A WebSocket client library with Promise-based API for browser and Node.js. Example import WebSocketAsPromised from 'websocket-as

Vitaliy Potapov 547 Dec 18, 2022
Next-JS interface for 🤖 Open-AI based 🕷 spider-man conversation simulator ⚡️

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Mohit Yadav 12 Dec 12, 2022
A websocket-based reverse shell for XSS attacks.

CrossSiteShell A javascript/nodejs "reverse shell" that makes it easier to interact with the victim's browser during XSS attacks. Usage Run the follow

Rafael 13 Oct 7, 2022
simple chat app created with nextjs, express, tailwindcss, and WebSockets

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Erfan Hanifezade 10 Sep 10, 2022
Create a Real-time Chat App using React and Socket.io

React And Socket.io ChatApp MIT Licence MIT License Copyright (c) 2021 Ali Ahmad Permission is hereby granted, free of charge, to any person obtaining

Ali Ahmad 2 Jan 10, 2022
This server is made to serve the MSN-Messenger app develop by Gabriel Godoy. This applications is capable to register users and messages in order implements a real time chat.

?? MSN-Messenger-Server Node.js server for real time chat About | Installations | How to Use | Documentation | Technologies | License ?? About This se

Guilherme Feitosa 7 Dec 20, 2022