TransitBot

An Amazon Lex Transit Information Bot

Origination

This code was developed for the AWS Chatbot Challenge

Implementation

This is an AWS Lambda written in Java supporting and AWS Lex module: bot definition. The Lex module supports a Facebook chatbot.

The raw transit data is based on the industry-standard GTFS file format. These files are available from most major metropolitan area and describe the transit routes available along with all trips, stops and arrival/departure times. GTFS also provides the latitude/longitude of each stop.

architecture diagram

Currently the code is tweaked to efficiently support the New York City data set but can easily be extended to support any transit system that provides GTFS data.

The GTFS data files are loaded into a relational database for efficient querying (see DataUploader.java). The schema can be found in TransitSchema.sql

JOOQ is used to generate DB access code in Java from the schema.

Types of questions you can ask:

  • How do I get to Columbia University?
  • What's the nearest stop to Rockefeller Center?
  • What is the subway fare?
  • Tell me about the A train
Copyright

(c) 2017, Shaun Terry, spterry@gmail.com. All Rights Reserved.

Built With

Share this project:

Updates