Skip to content

danielschleindlsperger/speedseries

Repository files navigation

speedseries

Timeseries dashboard for internet speedtests.

Development

speederies is implemented in ClojureScript and runs on Node.js. Data is stored in SQLite. Database migrations are run by goose.

Requirements

  • Node.js >= 14
  • Clojure
  • JVM >= 8
  • goose CLI
  • Docker for builds

Getting started

  1. Creat an empty database: touch db.sqlite3
  2. Run database migrations: npm run db up
  3. Install npm dependencies: npm ci
  4. Start shadow-cljs server: npm run watch
  5. After the first compilation, run the app: npm start

Database

# 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

Building and Publishing

# Build both server and client bundle
npm run build
# Run it 
node target/server.js

TODO: Docker

Roadmap

  • 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

About

Timeseries dashboard for internet speedtests

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published