A competitive stopwatch, created for but not limited to lock-picking competitions.
Find a file
finga 6aa9bb0e43 Use websockets to exchange data
Use websockets to send binary messages to the server. The server logs
the time taken by the client, as well as the time calculated with the
received messages sent by the client.
2022-09-20 16:25:55 +02:00
.cargo Lay out the structure of the project 2022-09-17 18:49:41 +02:00
client Use websockets to exchange data 2022-09-20 16:25:55 +02:00
lockwatch Use websockets to exchange data 2022-09-20 16:25:55 +02:00
vendor client: Use Bulma as CSS framework 2022-09-17 19:41:24 +02:00
.gitignore Lay out the structure of the project 2022-09-17 18:49:41 +02:00
.gitmodules client: Use Bulma as CSS framework 2022-09-17 19:41:24 +02:00
Cargo.lock Use websockets to exchange data 2022-09-20 16:25:55 +02:00
Cargo.toml Lay out the structure of the project 2022-09-17 18:49:41 +02:00
LICENSE Lay out the structure of the project 2022-09-17 18:49:41 +02:00
README.md Lay out the structure of the project 2022-09-17 18:49:41 +02:00

LockWatch

A competitive stopwatch, created for but not limited to lock-picking competitions.

Build

The whole LockWatch application stack consists out of two parts. The central server application, and a SPA (single page application) client application which is compiled to WASM and served by the server.

Client

To build the client (the client crate) trunk is used.

trunk --config client/Trunk.toml build

Server

After the client is built, the lockwatch server can be built with following command.

cargo build --bin logwatch

Usage

The logwatch server can be used with the following command line arguments.

USAGE:
    lockwatch [OPTIONS]

OPTIONS:
    -a, --address <ADDRESS>          The address to listen on [default: ::1]
    -h, --help                       Print help information
    -p, --port <PORT>                The port to listen on [default: 3000]
    -s, --static-dir <STATIC_DIR>    Path to the directory containing the statically served files
                                     [default: dist]
    -v                               Set the log level. Multiple -v options increase the verbosity
    -V, --version                    Print version information