Skip to content

berithpy/dom-transmission-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Dom Transmission Challenge

Small experiemnt built for a coding challenge, its a tool to stream a website but instead of streaming video, it streams the dom directly. Its built around rrweb and with socket.io on the server side.

How to run

To run the project locally, you will need to have Node.js installed on your machine. Once you have Node.js installed, you can run the following commands in the root directory to get started:

cd server
npm install
node ioserver.js

And in a separate terminal window:

cd client
npm install
npm start

Once both the server and client are running there are a couple of routes to access

Heres a short video of the project working

demo.mp4

Challenge Required Functionality

  • The product manager should be able to see the list of all currently active sessions (just showing session id’s is fine)

  • The product manager should be able to watch any active session in real-time

  • Since this is realtime streaming, latency is important! Consider using websockets

    Latency of event E = Time E observed by PM - Time of E in user session
    
  • (Bonus) Measure the latency and display it for the product manager to see while watching sessions. For example, display ‘X ms delayed’ while PM is watching the session

About

Full stack challenge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published