/switchesdb

Analyse and compare keyboard switches based on force-distance measurements from integrated datasets

Primary LanguageClojureEclipse Public License 1.0EPL-1.0

SwitchesDB

A webapp for analysing and comparing keyboard switches based on force-distance measurements from integrated datasets.

Consists of an SPA which only depends on static resources generated at build-time. This means once built, you can host it with any static web server (e.g. nginx).

Building & development

Requires java, clojure and babashka.

Run this once after cloning to populate the submodules: git submodule update --init

Development: Use make dev or your favourite Clojure REPL integration.

Building: All commands need to be run the first time. Afterwards, you can selectively update the datasets or only rebuild the webapp.

# Scrape CSV from HaaTa's plot.ly charts (takes a while)
bb haata
# Update submodule pointing to ThereminGoat's repository, pulling in newly added switches
git submodule update --remote
# Parse data to CSV files and generate metadata
make prepare
# Replace files for serving
make update
# Build the webapp
make build

You can now serve the contents of resources/public. If you just want to try it out, use make serve (not recommended for production deployments).

Credits

This wouldn't be possible without the hard work of the dataset authors: