..:: THIS PAGE IS CURRENTLY A WORK IN PROGRESS! ::..
This internet speed monitoring application is used to track the download and upload speed, in Mbps, of the internet of which the computer is connected to, tested every X minutes utilizing the speedtest.net API. This application is intended to run continually on a Raspberry Pi. However, it can be run on another operating system or computer as long as it meets all the requirements outlined in the sections below.
The following are required to be installed before the installation and setup of this application.
Name | Description | Link |
---|---|---|
Python | Python 2.* or 3.* is required to run speedtest-cli. While the Raspberry Pi, as well as most Linux operating systems, include Python pre-installed. | python.org |
speedtest-cli | speedtest-cli is a package for Python to run internet speed tests within the terminal via the speedtest.net API. | Github/sivel/speedtest-cli |
Node.js | Node.js is use to run this application. | nodejs.org |
Name | Description | Link |
---|---|---|
PM2 | PM2 is process manager for Node.js allowing for multiple Node.js applications to be easily run on a single computer as well as automatically starting applicants on boot of the computer. | pm2.keymetrics.io |
Yarn | Yarn is a third-party package manager for Node.js that operates much like NPM. | yarnpkg.com |
Once this application has been downloaded from its Git repository, run the following command in its root directory to install the necessary Node.js packages.
npm install
or
yarn
No setup is required for this application to run.
To start this application, run the following command in its root directory.
npm start
or
yarn start
The user interface may be accessed from http://[IP ADDRESS]:3000 where [IP ADDRESS] is the IP address of the computer this application is running on.
TO BE WRITTEN
Version | Updates & Changes |
---|---|
1.0.0 | Initial release |
Currently, there are no known issues with this application.
- Better smoothing algorithm for chart
- Dynamic chart resolution based on chart's width
- Auto updating
TO BE WRITTEN
TO BE WRITTEN
The following files are available pre-run
File / Directory | Usage |
---|---|
./.gitignore | List of files to ignore when committing to git. |
./app.js | ___ |
./CHANGELOG.md | Log of changes to this application. |
./CONTRIBUTING.md | Information about contributing to this application. |
./LICENSE.md | Application License. |
./package.json | Node.js packages and application meta data. |
./README.md | This file... |
./run.js | ___ |
./public/ | Folder containing publicly available files. |
./public/index.html | ___ |
./public/javascript.js | ___ |
./public/stylesheet.css | ___ |
./public/database/ | ___ |
./public/database/.gitignore | List of files to ignore when committing to git. |
./public/lib/ | Folder containing third party libraries. |
./public/lib/axios.js | ___ |
./public/lib/chart.js | ___ |
./public/lib/moment.js | ___ |
./README_FILES/ | Folder containing images use in README.md. |
./README_FILES/screencapture.png | ___ |
./README_FILES/title_image.png | ___ |
The following files are generated post-run
File / Directory | Usage |
---|---|
./public/database/speedTestData.json | Database in JSON format containing speed test results. |
./
│ .gitignore
│ app.js
│ CHANGELOG.md
│ CONTRIBUTING.md
│ LICENSE.md
│ package.json
│ README.md
│ run.js
│
├───public
│ │ index.html
│ │ javascript.js
│ │ stylesheet.css
│ │
│ ├───database
│ │ .gitignore
│ │
│ └───lib
│ axios.js
│ chart.js
│ moment.js
│
└───README_FILES
screencapture.png
title_image.png
Please feel free to open issues for bugs you've found or features you think are missing. If you would like to contribute to this open source project, submit a pull requests to this repository for merge consideration.
Currently, there is no FAQ items to go here. If you have a question, please open an issue.
This software is licensed under GNU Affero General Public License v3.0. All third party software, code, scripts, services, APIs, content, intellectual property, and other such material (the "I.P.") developed and owned by their respective third parties are not associated with this software and/or project and their associated owners, developers, business, and/or associates. The I.P. are used and distributed in this software and/or project under their respected license. The registration of this software and/or project in no way modifies, changes, or limits the licensing of the third party I.P. used.
GNU Affero General Public License v3.0
Permissions of this strongest copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available.
Permissions | Limitations | Conditions |
---|---|---|
✔ Commercial use | ❌ Liability | ❗ License and copyright notice |
✔ Modification | ❌ Warranty | ❗ State changes |
✔ Distribution | ❗ Disclose source | |
✔ Patent use | ❗ Network use is distribution | |
✔ Private use | ❗ Same license |
TO BE WRITTEN
The following third-party software, code, scripts, services, APIs, content, intellectual property, and other such material (the "I.P.") are used in this software and / or project and are in no way associated with the production, development, or maintenance of this software and/or project. The owners, developers, business, and/or associates of this software and/or project are not endorsing the use of the following software and/or services and are providing the list for reference purposes only.
Owner(s) | I.P. | Usage | License |
---|---|---|---|
Node.js Foundation / Joyent / Google | Node.js | This project runs on Node.js and uses some built in Node.js libraries. | ___ |
Python Software Foundation | Python | Python is used to run the speedtest-cli package. | ___ |
Axios | Axios | ___ | ___ |
Chart.js | Chart.js | ___ | ___ |
Moment.js | Moment.js | ___ | ___ |
Matt Martz (Sivel) | speedtest-cli | ___ | ___ |
Node.js Foundation / StrongLoop, IBM, and other Express contributors | Express | ___ | ___ |
This software and/or project was originally developed using the following software and/or services. The owners, developers, business, and/or associates of this software and/or project are not endorsing the use of the following software and/or services and are providing the list for informational purposes only.
Software / Service | Company | Usage |
---|---|---|
WebStorm | JetBrains | Main IDE |
Atom | GitHub | IDE |
Dell XPS 15 | Dell | Laptop computer |
Intel NUC NUC8i7HVK | Intel | Desktop computer |
Information about the author and contact information is currently unavailable.
README.md last updated Aug. 2, 2019