Skip to content

Instantly share code, notes, and snippets.

@douglasgoodwin
Last active August 12, 2016 00:30
Show Gist options
  • Save douglasgoodwin/9fe65518ff67f29656b17b375431c7cf to your computer and use it in GitHub Desktop.
Save douglasgoodwin/9fe65518ff67f29656b17b375431c7cf to your computer and use it in GitHub Desktop.
What's under the hood?

beta.metro.net

what's under the hood?


GTFS Schedule data

The General Transit File Specification is a collection of text files exported from HASTUS by Metro’s Service Planning staff. The GTFS is the root of many of our services.


GTFS Schedule data 2

For example, GTFS files loaded into the Open Trip Planner provide everything needed to make a schedule including stops, routes, trips, stop_times, and shapes.


Microservices

fit


Map layers

fit


Application Programming Interfaces (APIs)

  1. Geocoder (I have an address, what is its lat/lng?)
  2. Reverse Geocoder (I have a lat/lng, what is my address?)
  3. Trip Planner (give me three efficient transit itineraries)
  4. realtime Alerts
  5. realtime vehicle predictions
  6. Metro places and amenities

Map tiles (Mapbox)

Streets style.

fit


Database

  1. PostgreSQL with the PostGIS geospatial extensions.

Backend framework

Django plus Django object relational mapper (ORM — a connector to store objects in relational database)


Frontend framework(s)

  1. Leaflet.js (to render layered maps)
  2. AngularJS (version 1.0)

Components work together to provide responsive web pages designed for web, mobile apps, and large format clients.


Realtime alerts

IBI Group pilot. Online application to create and manage system alerts. Alerts are published as an API and a streaming feed for Google, Apple & other large consumers of transit data.


Vehicle Predictions

NextBus feed with a lightweight wrapper to fix stop_ids and transform XML into Javascript objects (JSON).


Content Management System with custom Admin

Built in a Python framework called Django this system both provides a secure interface to edit content and templates to package it for every platform.


Amazon Web Services architecture

AWS architecture


Continuous integration

fit


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment