Skip to content

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.

Notifications You must be signed in to change notification settings

unicef/project-connect-daily-check-app

Repository files navigation

Giga logo

Project Connect Daily Check App (PCDCA)


GitHub repo size GitHub stars Twitter Follow License

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.

About Giga

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.



Getting Started

Prerequisites

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)

Installing The Daily Check App

To install The Daily Check App, download the latest version from this repo or from the Daily Check App website.


Deployment and Usage

Deploying The Daily Check App

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

Features

  • 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

Built With

  • 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

Network Diagnostic Tool

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
  • NDT worker
    • Resides inside Ionic/Angular application /src/assets/js/ndt/ndt-worker.js

Contributors

Thanks to the following people who have contributed to this project:


Contact

If you want to contact us, please submit a form here.


License

This project uses the following license: <license_name>.


Acknowledgments

  • Thanks to Ericsson for helping build this application!

About

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.

Resources

Stars

Watchers

Forks

Packages

No packages published