Eden Kirin ce3eff47ea Initial
2023-03-18 21:30:15 +01:00
2023-03-18 21:30:15 +01:00
2023-03-18 21:30:15 +01:00
2023-03-18 21:30:15 +01:00

Clocker

Sequence diagram

@startuml
participant FE as "Frontend" << React >>
participant Funnel as "Funnel" << Python >>
participant Hours as "ServeHours" << Go >>
participant Minutes as "ServeMinutes" << Go >>
participant Seconds as "ServeSeconds" << Go >>
participant Milliseconds as "ServeMilliseconds" << Go >>
participant CurrentTime as "ServeCurrentTime" << Rust >>

activate FE #hotpink
    FE -> FE: Load page
    FE -> Funnel: WS Connect

    loop #ivory
        activate Funnel #gold
            Funnel -> Hours: GetHours()
            activate Hours #skyblue
            Hours -> CurrentTime: GetCurrentTime()
            activate CurrentTime #sandybrown
            return HH:MM:SS.ms
            return HH

            Funnel -> Minutes: GetMinutes()
            activate Minutes #skyblue
            Minutes -> CurrentTime: GetCurrentTime()
            activate CurrentTime #sandybrown
            return HH:MM:SS.ms
            return MM

            Funnel -> Seconds: GetSeconds()
            activate Seconds #skyblue
            Seconds -> CurrentTime: GetCurrentTime()
            activate CurrentTime #sandybrown
            return HH:MM:SS.ms
            return SS

            Funnel -> Milliseconds: GetMilliseconds()
            activate Milliseconds #skyblue
            Milliseconds -> CurrentTime: GetCurrentTime()
            activate CurrentTime #sandybrown
            return HH:MM:SS.ms
            return ms

            Funnel -> FE: WS: Send formatted time
        deactivate Funnel
    end
deactivate FE

@enduml

Services

Service Language Port
Funnel Python -
ServeCurrentTime Rust 50000
ServeHours Go 50001
ServeMinutes Go 50002
ServeSeconds Go 50003
ServeMilliseconds Go 50004

Funnel

Requirements:

  • python 3.8+
  • grpcio
  • grpcio-tools

Install virtualenv and libs

cd src/funnel
virtualenv env
source env/bin/activate
pip install -r requirements.txt

Compile proto stubs:

cd src/funnel
make proto

Run service:

cd src/funnel
make run
Description
No description provided
Readme 160 KiB
Languages
Python 40.9%
JavaScript 40%
Go 8%
Rust 4.8%
Makefile 3.7%
Other 2.6%