Skip to content

A real-time web application that allows users to watch YouTube videos synchronously, instantly message, and have voice conversations using WebSocket and WebRTC

Notifications You must be signed in to change notification settings

williamtnguyen/in-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👨‍💻👩‍💻▶️ in-sync

Build Status

Introduction

A scalable real-time web application that allows users to watch YouTube videos synchronously, instant message, and have voice conversations using WebSockets and WebRTC. It is built with the following technologies:

Purpose Software Technology
Frontend Development Reactjs, TypeScript, Antd
End-to-End Testing Cypress
WebSocket Service Socket.io
Render YouTube Videos YouTube IFrame Player API
Voice Streaming Mediasoup
Server Express
In-memory Database Redis
Containerization Docker
Deployment NGINX, S3, CloudFront, AWS EC2

Install dependencies and spin up development environment:

Session Server:

On one terminal

$ cd server
$ npm install
$ docker-compose up --build

On another terminal

$ cd server
$ npm run dev

Voice Server:

$ cd rtc-server
$ npm install
$ npm run dev

Frontend:

$ cd client
$ npm install
$ npm start

High Level System Design

4 2 Interface and Component Design (1)

Production Environment

prod env

Course/Contributors

Project Information

References

About

A real-time web application that allows users to watch YouTube videos synchronously, instantly message, and have voice conversations using WebSocket and WebRTC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •