/hey-duwamish

Hey Duwamish! is a community engagement tool designed for environmental cleanup projects

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Hey Duwamish! - HeyDuwamish.org

Hey Willamette! - HeyWillamette.org

Community powered mapping for environmental health, starting with our most polluted rivers.

Build Status

For a brief summary, please view: http://smartercleanup.org/

We are building a geography based community monitoring platform. Our goal is to empower residents to monitor environmental health issues and engage with local leaders to address their concerns. Our first release focuses on the Lower Duwamish River superfund site in Seattle, WA and now we are active along the Willamette River cleanup in Portland, Oregon.

We were inspired by the GarageLab collective in Buenos Aires, Argentina who built Que Pasa Riachuelo to monitor the pollution along the Riachuelo river basin.

More details on getting involved with the Smarter Cleanup movement can be found here

Features

Submit a Report
Adding reports is easy. The simple interface lets users quickly drop pins on the map with an image, description, and other useful information that can be customized by the form administrator.
Comment on Reports
Engage your audience in meaningful conversation. Users can leave comments on reports, and vote to support them.
Explore Rich Environmental Data
Overlay pertinent geographic data. Applying custom vector data as map layers using CartoDB, Mapbox, GeoServer, or your own WMS server.
Custom landing pages for your map data
Make sure all the important information about your neighborhood has a place to live on the open web with friendly URLs
Multiple Languages
Just edit the translation files and you are ready to go.

Contributing

In the spirit of free software, everyone is encouraged to help improve this project.

Here are some ways you can contribute:

  • by reporting bugs
  • by suggesting new features
  • by writing or editing documentation
  • by writing specifications
  • by writing code (no patch is too small: fix typos, add comments, clean up inconsistent whitespace)
  • by refactoring code
  • by resolving issues
  • by reviewing patches

Catch us on Freenode at #Smartercleanup

Local Setup

Hey Duwamish! requires Python 2.7 (Instructions for Windows found here).

Install pip and virtualenv, if not already installed. These will keep your python code isolated from the rest of your machine and ensure you have the correct versions.

easy_install pip
pip install virtualenv

You may need to use sudoto install these tools.

sudo easy_install pip
sudo pip install virtualenv

Create a new virtual environment inside of the repository folder, and install the project requirements:

virtualenv env --python=python2.7
source env/bin/activate
pip install -r app-requirements.txt

NOTE: If you run into trouble with gevent, you can safely comment it out of the requirements.txt file. It is not needed for local development. To comment it out, just add a hash "#" to the beginning of the line for gevent.

NOTE: If you have trouble with pip install -r app-requirements.txt, you may need to install the Python development libraries (for Python.h). The Windows installation has them by default, but some UNIX-based systems with a pre-installed Python may not. On such systems, you may need to run sudo apt-get install python-dev or download a fresh installer from python.org.

NOTE: For Linux users on RHEL/CentOS distros, you will need to have the following libraries installed: sudo yum groupinstall 'Development Tools' and sudo yum install python-devel postgresql-devel

NOTE: Mac OS X users need a command line C/C++ compiler in place for the above steps to work. This can be done by downloading Xcode from the App Store and then installing the Command Line Tools via Xcode's Preferences > Downloads area.

Configuring the Dev API

Now that you have the client installed, all you need to do is load the API. The API powers the database that manages the community generated reports.

The platform is capable of manging multiple "flavors" - a flavor is a custom front end map deployment that can have it's own configuration and style rules, but still connect with other flavors on a shared back end, powered by the same data API.

Hey Duwamish has its own flavor configuration in the duwamish_flavor folder for Seattle residents, and Hey Willamette has its own flavor configuration in the willamette folder for Portland residents.

We have a Dev API with dummy data that you can load locally. To enable it, go to the src folder and create a new hidden text file called .env and paste in the following information:

FLAVOR=duwamish_flavor
SITE_URL=https://dev-api.heyduwamish.org/api/v2/smartercleanup/datasets/duwamish/
SITE_KEY=MGMzOWU2ZmUwZmFkZDYzZTI1ZmQ3MDhi

If you want to load a different flavor, like Hey Willamette, just replace the first line with FLAVOR=willamette

Now you're ready to run your server locally. Just enter this command:

src/manage.py runserver

The server will, by default, be started at http://localhost:8000/. Here is the documentation if you want to reconfigure it.

NOTE: If you're new to programming with virtualenv, be sure to remember to activate your virtual environment every time you start a new terminal session:

source env/bin/activate

Credits

Many features are powered by Shareabouts, an open-source project of OpenPlans.

Read more about Shareabouts and find links to recent sites on the OpenPlans website.