This is a simple meeting time counter running in every browser coded in Javascript. It's a proof of concept that demonstrates the use of fetch API and Websockets to a simple web server in Node.
npm run start
Will launch the server and open http://localhost:3000 in a browser.
npm run browser
will just launcher the browser and npm run server
just the local server.
@startuml Actor user Entity browser Entity server user -> browser : opens app browser -> server: request user last current timings server -> browser: responds them browser -> server: sends periodically user timing server -> server: stores timing internally server-> browser: OK user -> browser: user triggers button to stop timing browser -> browser: stores last timing record in LocalStorage server -> server : stores last timing record internally @enduml
@startuml Actor user1 Actor user2 Entity browser1 Entity browser2 Entity server user1 -> browser1: initiates app user2 -> browser2: initiates app user1 -> browser1: clicks button to start browser1 -> server: starts time recording user2 -> browser2: clicks button to start browser2 -> server: starts time recording server -> browser1: sends websocket message browser1 -> browser1: stops time counting @enduml