bensheldon / open311status

Open311 Status monitors and aggregates the status of dozens of Open311 API endpoints, providing benchmarks and comparative insights.
https://status.open311.org
MIT License
34 stars 14 forks source link

Open311 Status

Website: http://status.open311.org

Project Backlog: https://github.com/codeforamerica/open311status/projects/1

Open311 Status monitors and aggregates the status of dozens of Open311 API endpoints, providing benchmarks and comparative insights into:

Demo Image

Development

Adding new API endpoints

To add a new Open311 endpoint, add their API configuration to the config/cities.yml file. This should include:

Example:

bruhl:
  name: 'Brühl, Deutschland'
  endpoint: 'https://www.achtet-auf-bruehl.de/georeport/v2/'
  jurisdiction: 'bruehl.de'

Loading real data

By default, running db:setup will load cities and generate fake service requests. To load cities, run rake cities:load. And to load service requests, rake cities:service_requests

Application Dependencies

  1. Install Ruby with your ruby version manager of choice, like rbenv or RVM
  2. Check the ruby version in .ruby-version and ensure you have it installed locally e.g. rbenv install 2.6.1
  3. Install bundler (the latest Heroku-compatible version): gem install bundler
  4. Install Postgres. If setting up Postgres.app, you will also need to add the binary to your path. e.g. Add to your ~/.bashrc: export PATH="$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin".
  5. Install PostGIS, the Postgres geospatial extension, if it's not included in your distribution. Postgres.app comes with postgis.

Application Setup

  1. Install ruby gem dependencies: bundle install
  2. Create the databases and load schema and seeds: bin/rails db:setup
  3. Run the tests: bin/rspec
  4. Run the server: bin/rails server, and visit the web-browser: http://localhost:3000

Migration guide

You may need to run rake db:gis:setup to enable PostGIS on your database.