Giter Site home page Giter Site logo

isp-speedtest-logger's Introduction

ISP SpeedTest Logger

NodeJS v12 Express.js React Docker MongoDB

If you're on a LTE, 4G, 5G, ... connection, and want to review how (๐Ÿ’ฉ) it holds up over time, this should do the trick for you. This webapp allows you to periodically run speedtests (node.js), store the results (mongodb), and review your network quality in a web ui.

You can for example throw this container-set on a raspberry pi with docker-host, and leave it running.

Features

  • Review Network performance over time in UI
  • Configure automated speedtests to run every 24/12/6 hours
  • Easily deploy and run through docker

screenshot

Requirements ๐Ÿ“ฆ

  • node v12
  • docker + docker-compose installed
  • host machine should have internet access

docker-compose

Run docker-compose up -d to build and start all docker containers (db, client, server). It will also automatically build client and server on the first startup.

Client is available on http://localhost:3000

Server is available on http://localhost:3001 and you can checkout the swagger docs on http://localhost:3001/api-docs

๐Ÿ’ป Development

Make sure you run node v12, as i havent updated the repo to run on newer node versions. PR welcome

Admin pw can be set in .env -> ADMIN_PW

During development you might want to run mongodb via docker, but run the api / frontend locally.

docker run -d \
  --name isp-mongodb \
  --publish 27017:27017 \
  mongo

Install dependencies first with npm install, both in server and client.

Setup ./server/.env by copying the ./server/example.env file.

You can then run npm start, in both server and client to start the application in dev mode.

Client is available on http://localhost:3000

Server is available on http://localhost:3001 and you can checkout the swagger docs on http://localhost:3001/api-docs

Buy Me A Coffee

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.