The Daily Check App is a Windows desktop application that automatically measures the internet upload and download speed of a network using minimal data. The App is automatically scheduled to run two random internet speed tests daily.
It can be installed on a user device (such as a computer or laptop) and configured easily to send daily internet connectivity information to a database. It utilizes the Network Diagnostic Tool (NDT), developed and maintained by Internet 2 and hosted by Measurement Lab (M-Lab).
Giga uses the Daily Check App to measure school connectivity, sending daily internet connectivity information to Project Connect, helping Giga create an accurate picture of a school’s network quality over time. It was developed in partnership with Ericsson.
Giga is a UNICEF-ITU global initiative to connect every school to the Internet and every young person to information, opportunity, and choice. By connecting all schools to the Internet, we ensure that every child has a fair shot at success in an increasingly digital world.
The Daily Check App supports development and distribution on the following platforms:
- Windows, running Windows 7 or higher (ideally a device that is permanently and exclusively connected to the school internet)
To install The Daily Check App, download the latest version from this repo or from the Daily Check App website.
After cloning this repo, install all the dependency modules by running npm install
To run the app the application in a browser, run ionic serve
To run the application directly during development without creating an exe, run the following command from the electron folder npm run electron:start-live
To create a build from ionic, for dev environment run:
ionic build
OR, for production environment:
ionic build --prod
After running this command the build will be generated. To transfer the build to electron run the following command:
npx cap sync @capacitor-community/electron
After that, navigate to the electron folder
cd .\electron\
and create the windows build (.exe or msi) by runing the following command:
npm run electron:make
The windows build can be found inside /electron/dist/folder
- Checks school internet connection using minimal data (obtains metrics such as upload and download speed, latency, IP address, etc)
- Automatically detects the country of a user
- Uploads results to a public database
- Ionic - an open-source UI toolkit (version 6.0.3)
- Angular - a TypeScript-based, free and open-source web application framework (version 13)
- Capacitor - an open source native runtime for building Web Native apps (version 4.1.0)
- Electron - a framework for building desktop applications using JavaScript, HTML and CSS
The application implements M-Lab's Network Diagnostic Tool (NDT) using M-Lab's Javascript client library (for more information see M-Lab developer resources). The result of the test is sent as a JSON object to the application, which is then passed on to a database via an API.
The PCDC App uses the following NDT (Network Diagnostic Tool) library for JavaScript, downloaded from mLab
- NDT Client
- Resides inside Ionic/Angular application
/src/assets/js/ndt/ndt-browser-client.js
- Resides inside Ionic/Angular application
- NDT worker
- Resides inside Ionic/Angular application
/src/assets/js/ndt/ndt-worker.js
- Resides inside Ionic/Angular application
Thanks to the following people who have contributed to this project:
If you want to contact us, please submit a form here.
This project uses the following license: <license_name>.
- Thanks to Ericsson for helping build this application!