/onebusaway-deep-links

A web app with a URL pattern designed for deep linking in native apps

Primary LanguageRuby

Build Status

Setup

  1. Install RVM (https://rvm.io): \curl -sSL https://get.rvm.io | bash -s stable
  2. Install Postgresql. I like https://postgresapp.com for macOS.
  3. Clone the repo
  4. cd into the directory where you cloned the repo and agree to whatever RVM says
  5. gem install bundler
  6. bundle install
  7. rake db:create
  8. rake db:schema:load
  9. rake db:seed
  10. rails s
  11. open http://localhost:3000

Features

Service Alerts

Service alerts involve the following models:

  • AlertFeed - Represents a single service alert feed. It is primarily designed to consume RSS feeds. This is an STI model; child classes are responsible for knowing how to parse their own feed types. See KingCountyMetroAlertFeed.
  • AlertFeedItem - Represents an item in an AlertFeed

Alert feeds are updated from their sources by running rake update_alert_feeds. In production, this is managed with the Heroku Scheduler add-on.

API Endpoint

GTFS-RT compliant alerts are available in protobuf format from:

http://alerts.onebusaway.org/api/v1/regions/{region_id}/alerts.pb

where region_id is the region identifier defined in the OBA Regions API. For instance, Tampa is 0 and Puget Sound is 1.

A text version of alerts can be viewed by changing the URL's file extension from pb to pbtext. For instance:

http://alerts.onebusaway.org/api/v1/regions/1/alerts.pb

can be changed to:

http://alerts.onebusaway.org/api/v1/regions/1/alerts.pbtext

Append ?test=1 to the URL to view any test feed items that have been created:

http://alerts.onebusaway.org/api/v1/regions/1/alerts.pb?test=1