Skip to content

Latest commit

 

History

History
39 lines (29 loc) · 1.85 KB

README.md

File metadata and controls

39 lines (29 loc) · 1.85 KB

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