Giter Club home page Giter Club logo

codeforafrica / sensors.africa Goto Github PK

View Code? Open in Web Editor NEW
17.0 12.0 7.0 22.08 MB

sensors.AFRICA is a citizen-science focused project by Code for Africa that seeks to address data gaps by providing low cost sensors, which people can use to measure and monitor the quality of the air, water, and sound in their communities.

Home Page: https://sensors.africa

License: GNU General Public License v3.0

JavaScript 98.69% CSS 0.78% Dockerfile 0.53%
sensors-africa sensors sensor-data-collection air-quality air-quality-sensor air-quality-measurements africa nairobi kenya dar-es-salaam

sensors.africa's Introduction

sensors.AFRICA

sensors.AFRICA is a citizen-science focused project by Code for Africa that seeks to address data gaps by providing low cost sensors, which people can use to measure and monitor the quality of the air, water, and sound in their communities.

Are you interested in working with us, using our data, or learning more about what we do? Please fill in this form and we'll get back to you ASAP.

Goals

The key goals for this site:

  • Provide an online platform to explore sensors.AFRICA data and initiatives (networks)
  • Provide information + contacts on how users can kickstart their own network
  • Provide an action path to petition local governments to do something about the quality of environment

Development

This project uses yarn as a dependancy. See the documentation to set it up on your machine.

Run the following command to get started

    git clone https://github.com/CodeForAfrica/sensors.AFRICA.git
    cd sensors.AFRICA
    yarn
    yarn dev

Style Guidelines

This project will be primarily using airbnb react and material-ui as our main style guides when implementing components.This is to create code consistency and readability.

Tests

TODO


sensors.AFRICA Stack

First Header Second Header
API Receives, stores, and processes data received from sensors across the continentent
Map Visualises the types and locations of all sensors nodes across the continent
Firmware Powers all sensors.AFRICA nodes across the continent

Contributing

If you'd like to contribute to sensors.AFRICA, check out the CONTRIBUTING.md file on how to get started; or jump right into our GitHub issues.

Attribution

If we have seen further it is by standing on the shoulders of giants. - Isaac Newton

✨ Contributors ✨

TODO


License

GNU General Public License v3.0

sensors.AFRICA is a citizen-science focused project by Code for Africa that seeks to address data gaps by providing low cost sensors, which people can use to measure and monitor the quality of the air, water, and environment in their communities. This web app seeks to be the public portal through which most users would discover and explore the data and intiative.

Copyright (C) 2018 Code for Africa

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

sensors.africa's People

Contributors

chegejames avatar davidlemayian avatar dependabot-preview[bot] avatar dependabot[bot] avatar esirk avatar gideonmaina avatar karimkawambwa avatar kelvinkipruto avatar khadijamahanga avatar kilemensi avatar kobbymmo avatar koechkevin avatar mtuchi avatar nerdlet avatar phillipahereza avatar snyk-bot avatar usmanbiu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sensors.africa's Issues

Fix the landing links and images

Description

Add new images to the landing page.
Add links to the air, water, and sound cards.
Add hover effects to the navbar and the footer

Tasks

  • Fix the images on the card section
  • Add hover effect in the footer and the navbar

Add air sensors landing page

Description

Add a new parent component air.js to child components of the sensors.air landing page

Screenshots

image

Tasks

  • Add air.js landing page to the pages directory

Create statistic component for the air city page

Description

Create statistic component for the city page

Screenshots

image

Tasks

Include specific tasks in the order they need to be done in. Include links to specific lines of code where the task should happen at.

  • ???
  • ???
  • ???

[BUG] Improve Footer Design

Description

Improve the footer design to be closer to PSDs

Screenshots

screen shot 2018-10-11 at 15 05 59

Tasks

  • 1.1. Increase padding top and bottom - should also be equal so probably check if <p> applying a margin bottom (remove if so)

  • 1.2. Increase padding left and right to make content "tighter"

  • 2.1. Add instagram

  • 2.2. Re-order: Twitter, Facebook, Instagram

  • 2.3. �Increase margin top and bottom of social icons

  • 2.4. Add Medium link to
    https://medium.com/code-for-africa/tagged/innovateafrica

  • 3.1. Match e-mail input design

  • 3.2. [BUG] Doesn't actually work when e-mail input

  • 3.3. Input should be placeholder instead of value

  • 4.1. Increase button padding

  • 4.2. Check font size and style

  • 5.1. Read More should go to about page

  • 5.2. Button style should match feedback for (4)

  • 6.1. Also all footer titles - font style + size match to design

  • 7.1. Size + images used should match https://sensors.africa/

  • 8. Change "Support" to "Funded By"

Create how sensors work page

Description

Add how sensors work parent component page in the pages / air directory

Screenshots

image

Tasks

  • Add navbar component
  • Add main header section
  • Add hardware info component
  • Add footer section

Add search bar on the air landing page

Description

Add search bar on the landing page of the air page.

Screenshots

image

Tasks

  • Add search input form on the air landing page
  • Align search bar center
  • Add handle event on click

Add header and footer components to the city page

Description

Add the Header and Footer global components to the city page

Screenshot

Header component
image

Footer component
image

Tasks

  • Add the navbar and the jumbotron header component
  • Customize the menubar section to look like the city page designs
  • Add the footer component

Use charts for the percentage issues section

Description

Use chart visualisation instead of an image for pollution count

Screenshots

image

Tasks

  • Create gauge chart component
  • Style according to designed layout
  • Write test for gauge component

Fix footer partner image section

Description

Partner images in the footer section are on separate rows for medium devices

Screenshots

image

Tasks

  • Remove padding from main grid container
  • Add padding to support text
  • Remove unnecessary Grid container from the images section

Add photos of the sensors

Description

To improve visual elements fo the landing page, we should add photos of the actual sensors.

Files

  • Google Photos album: ?
  • Google Drive Photos: ?

Tasks

  • ?

Add new sources component for the airborne disease page

Description

Create a component for the sources of air pollution section for the airborne disease page

Screenshots

image

Tasks

Include specific tasks in the order they need to be done in. Include links to specific lines of code where the task should happen at.

  • ???
  • ???
  • ???

Restructure src components

Description

Restrucure and rename component in src folder

Tasks

  • Rename components
  • Put related componets in the same folder

Dockerize

Description

To improve the development process, we should Dockerize the sensors.AFRICA app.

Tasks

  • #4 -> #6
  • Add Dockerfile
  • Add docker-compose

Add sensors.AFRICA API to the site

Description

Add sensors.AFRICA API to be used in the city page

Tasks

  • Yarn add axios.
  • Create an empty sensors array as the default state of the class component
  • Use axios.get() to fetch data and console .log the data for use in future components

Update sensors.AFRICA landing page

Description

Add the following to the landing page:
-sensors.AFRICA logo
-Background image
-Footer section
-Fonts

Screenshots

image

Tasks

  • Background image
  • Logo
  • Footer
  • Fonts

[BUG] Improve Homepage Design

Description

The current homepage needs to align closer to designs shared.

Screenshots

screen shot 2018-10-11 at 14 58 48

Tasks

  • 1. Lead text match content + font style and weight
  • 2. Update text to match content + font style and weight
  • 3. Match such that height is smaller than width

Fix the city page components

Description

Small fixes on the city page layout

Screenshots

image

Tasks

  • Remove scrolling in the map component
  • Add margin to the measure statistics component
  • Center content of the measure statistic component
  • Add top border to the statistic report component

Improve Navbar component

Description

Add list items and social media icons on the navbar component

Screenshots

Expected look
image

Tasks

  • Add social media icons
  • Add air, water and sound list items on navbar section

Improve the support section of the about page

Description

Improve the cards to match the sensors.AFRICA designs

Screenshots

Current
image

Expected look:
image

Tasks

  • Remove unnecessary node component
  • Make content same height
  • Match button colors to the design CI

Improve menu of the header jumbotron section

Description

Improve menu bar with logo and menu bar on the header jumbotron section

Screenshots

Expected look
image

Tasks

  • Add equal right and left spacing to the grid container of the menu section
  • Add working material-icon on the right side of the menu bar

Create default pages

Description

To work on, let's create the default pages:

  • Home
  • About
  • City Page

Screenshots

N/A

Files

N/A

Tasks

  • Create home page
  • Create about page
  • Create city page

Add relevant links to all pages

Description

Add relevant links to the join network page

Tasks

  • Add links to the join us page
  • Remove instagram and search icon

Create indoor and outdoor pollution component

Description

Create a new component for the indoor and outdoor pollution section for the air landing page

Screenshots

image

Tasks

  • Create cards sections
  • Center cards using flexbox
  • Add text content
  • Add buttons

Add stories / blogs already written

Description

We should add stories / blogs already written about sensors.AFRICA to the landing page.

Tasks

  • Sketch out design
  • Implement design

Make search bar functional

Description

Add events that trigger a list of cities in the search bar

Screenshots

On search
image

Tasks

  • Add states and events to list cities upon search

Add Twitter Feed

Description

To show what's happening around the sensors.AFRICA project, we should add twitter feed of the #sensors.AFRICA hashtag.

Tasks

  • ?

Create the join network page

Description

Create parent components for the join network, data and airborne diseases pages in the pages/air directory

Screenshots

Join network
image

Tasks

  • ???
  • ???
  • ???

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.