*** Backup Mirror *** The web interface and JSON api for the ConnectedHumber Air Quality Monitoring Project. https://github.com/ConnectedHumber/Air-Quality-Web
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Starbeamrainbowlabs 26fdc94215
README: Fix heading
4 years ago
.github Add PR template & licence/contributing sections to README 4 years ago
client_src Add title to page 4 years ago
design Add application structure diagram. I might blog about it actually. 4 years ago
lantern-build-engine@da5cd7d7b0 Add some dependencies and set some things up. 4 years ago
lib/SBRL Fix measurement data query, but it's not quite right yet 4 years ago
logic Add todo 4 years ago
.gitignore Get the development server to serve the correct directory 4 years ago
.gitmodules Add some dependencies and set some things up. 4 years ago
LICENSE Initial commit 4 years ago
README.md README: Fix heading 4 years ago
api.php Formatting 4 years ago
build Build css with rollup too! 4 years ago
composer.json Add untracked files 4 years ago
composer.lock Add untracked files 4 years ago
di_config.php Add production optimisations 4 years ago
package-lock.json Add leaflet-fullscreen 4 years ago
package.json Add leaflet-fullscreen 4 years ago
rollup.config.js Get a basic map displaying. 4 years ago
settings.default.toml Add production optimisations 4 years ago



The web interface and JSON api for the ConnectedHumber Air Quality Monitoring Project.

This project contains the web interface for the ConnectedHumber air Quality Monitoring system. It is composed of 2 parts:

  • A PHP-based JSON API server (entry point: api.php)
  • A Javascript client application that runs in the browser

The client-side browser application is powered by Leaflet.

System Requirements

In order to run this program, you'll need the following:

  • Git
  • Bash (if on Windows, try Git Bash) - the build script is written in Bash
  • composer - For the server-side packages
  • Node.JS
  • npm - comes with Node.JS - used for building the client-side code

Getting Started

The client-side code requires building. Currently, no pre-built versions are available (though these can be provided upon request), so this must be done from source. A build script is available, however, which automates the process - as explained below.

Building From Source

The build script ensures that everything it does will not go outside the current directory (i.e. all dependencies are installed locally).

To build from source, start off by running the setup and setup-dev build commands like this:

./build setup setup-dev

This will initialise any git submodules and install both the server-side and client-side dependencies. Once done, all you need to do is build the client-side code:

./build client

For development purposes, the client-watch command is available.


Some configuration must be done before the application is ready for use. The first time api.php is called from a browser, it will create a new blank configuration file at data/settings.toml, if it doesn't already exist. See the settings.default.toml file in this repository for a list of configurable settings, but do not edit settings.default.toml! Instead, enter your configuration details into data/settings.toml, which overrides settings.default.toml. In particular, you'll probably want to change the settings under the [database] header - but ensure you give the entire file a careful read.


  • Readings are taken every 6 minutes as standard.


Contributions are welcome - feel free to open an issue or (even better) a pull request.

The issue tracker is the place where all the tasks relating to the project are kept.


This project is licensed under the Mozilla Public License 2.0. The full text of this license can be found in the LICENSE file of this repository, along with a helpful summary of what you can and can't do provided by GitHub.