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.

License

Notifications You must be signed in to change notification settings

unicef/project-connect-daily-check-app

Repository files navigation

Giga logo

GigaMeter Frontend

GitHub repo size GitHub stars Twitter Follow License

Table of Contents

  1. About Giga
  2. About GigaMeter
  3. Getting Started
  4. Contribution Guidelines
  5. Code Design
  6. Code of Conduct
  7. License
  8. Contact
  9. Contributors
  10. Acknowledgements

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.

About GigaMeter

GigaMeter is a client desktop application that can be installed on Windows that automatically measures the internet upload and download speed of a network using minimal data. The App is automatically scheduled to run four internet speed tests daily. The first test runs within 15 minutes of the device being turned on, while the remaining three runs in the following time slots of the user's machine - 8 am to 12 pm, 12 pm to 4 pm, 4 pm to 8 pm.

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) protocol which is developed, maintained and hosted by Measurement Lab (M-Lab).

Giga uses GigaMeter to measure school connectivity, sending daily internet connectivity information to Giga Maps, helping Giga create an accurate picture of a school’s network quality over time. It was developed in partnership with Ericsson.

Project Objective

  • Improve accountability and transparency by tracking the progress and quality of connectivity of schools over time

  • Easily check, understand, share, and visualize the quality of the internet service experienced in a school

  • Measure impact by generating updated estimates on the number of schools and children who have fast and reliable access to internet connectivity

Design and Architecture

GigaMeter is a Windows-based desktop application that can be installed on a school's computer and configured easily to send internet connectivity information to the Giga Maps database. It uses a Network Diagnostic Tool (developed and maintained by M-Lab) to test internet connectivity.

System Requirements

To run GigaMeter, the following are the minimum requirements:
  • Internet connection

  • A Windows (Windows 7 or higher) desktop or laptop computer that is permanently and exclusively connected to the school internet.

  • 500 Mb of free disk space

Built With

Our Tech Stacks

  • Ionic - an open-source UI toolkit (version 6.0.3)

  • Angular – a TypeScript-based, free, and open-source web application framework (version 13)

  • Capacitor - Community/Electron - (version 4.1.0)

  • Electron - a framework for building desktop applications using JavaScript, HTML and CSS

Github Repositories of GigaMeter

Getting Started

Setup and Running

Installation

  • Download the latest version from the GigaMeter website.

    • The download will start automatically.

    • When the download is complete, double-click on the file. This usually appears at the bottom bar of your browser. Otherwise, you will find the file in your ‘Downloads’ folder.

    • The installation process is straightforward. Follow the wizard by clicking ‘Next’ on each step.

  • After successfully installing the app, it will send schools' internet connectivity information to Giga Maps four times daily.

Development Commands

Basic development commands

  • After cloning the code from the GitHub repository
https://github.com/unicef/project-connect-daily-check-app
  • Install all the dependencies modules by running this command:
npm install 
  • To run the app the application in a browser, run this command:
Ionic serve 
  • To run the application directly during the development without creating exe, run the following command from electron folder:
npm run electron:start-live 

Ionic build generation

  • To create a build from Ionic, run the following command:
Ionic build (for development)

or

Ionic build –prod (for production)
  • After running the above command, ionic build will be generated.

  • To transfer the build to electron side, run the following command:

npx cap sync @capacitor-community/electron 

Setup file generation

  • Navigate to the electron folder, then run the following command:
npm run electron:make 
  • The windows build can be found inside
/electron/dist folder 

Third-party Integrations

Network Diagnostic Tool

The application implements the same Network Diagnostic Tool (NDT) as the M-Lab chrome browser extension. The GigaMeter app integrates the NDT test 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 Giga Maps via the Service level API.

Contribution Guidelines

Thank you for considering contributing to GigaMeter! We value your input and aim to make the contribution process as accessible and transparent as possible. Whether you're interested in reporting bugs, discussing code, submitting fixes, proposing features, becoming a maintainer, or engaging with the GigaMeter community, we welcome your involvement.

Click here for detailed Contribution Guidelines

Code Design

Monorepo Structure

Backend Application Structure

Ionic/Angular Structure: The application business logic for GigaMeter resides in this section. Active development should reside inside the src folder of the application.

Giga Meter Ionic

Electron Structure: The above Ionic/Angular application is packaged and delivered as a desktop application inside this section of the code.

Giga Meter Electron

Code of Conduct

At Giga, we're committed to maintaining an environment that's respectful, inclusive, and harassment-free for everyone involved in our project and community. We welcome contributors and participants from diverse backgrounds and pledge to uphold the standards.

License

Distributed under the AGPL-3.0 License. See LICENSE for more information.

Contact

Giga Meter Website: https://meter.giga.global/contact-us/


Acknowledgments

  • Thanks to Ericsson and Mlab 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

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •