Timeseries dashboard for internet speedtests.
speederies
is implemented in ClojureScript and runs on Node.js.
Data is stored in SQLite. Database migrations are run by goose.
- Node.js >= 14
- Clojure
- JVM >= 8
- goose CLI
- Docker for builds
- Creat an empty database:
touch db.sqlite3
- Run database migrations:
npm run db up
- Install npm dependencies:
npm ci
- Start shadow-cljs server:
npm run watch
- After the first compilation, run the app:
npm start
# Help
npm run db
# Run migrations
npm run db up
# Reverse all migrations
npm run db reset
# Reverse by one migration
npm run db down
# Create new migration
npm run db create $NAME [sql
# Build both server and client bundle
npm run build
# Run it
node target/server.js
TODO: Docker
- Configurable schedule
- Option to set a fixed server to use for speedtests
- Allow time periods to be marked with labels
- Use case: Mark a period where a different ISP was used
- Use case: Mark a period where for example an LTE router was placed differently