transitmatters / new-train-tracker

Tracking the MBTA's new Orange, Red, and Green trains

Home Page:http://traintracker.transitmatters.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

New Train Tracker

lint deploy

Developed by TransitMatters Labs

Shows new MBTA Orange, Red, and Green Line trains as they come into service.

Install & Run

Dependencies:

  • node 20.x (with npm 10.x)
  • python 3.12
  • poetry
    • Ensure poetry is using the correct Python version by running poetry env use <your python3.12 binary>

Run:

To use an API key, put it in server/secrets.py or as an environment variable MBTA_V3_API_KEY

Linting

To lint frontend and backend code, run $ npm run lint in the root directory

To lint just frontend code, run $ npm run lint-frontend

To lint just backend code, run $ npm run lint-backend

Server Deployment

Additional requirements:

  • nginx

Nginx serves as a reverse-proxy for the app running on localhost:5001. The Flask app is run under gunicorn and controlled by systemd, which will restart after failure or reboot automatically.

AWS Deployment

  1. Make sure AWS CLI is set up and working — i.e. aws cloudformation describe-stacks | wc -l should work
  2. Make sure these environment variables are set up in your shell (ask a Labs member for values if needed):
  • TM_NTT_CERT_ARN (for production)
  • TM_LABS_WILDCARD_CERT_ARN (for beta)
  1. A key named transitmatters-ntt needs to be available in your AWS account and copied to ~/.ssh/transitmatters-ntt.pem.
  2. You will also need to create an ec2-secrets.py file in the devops/ directory.
  3. Run cd devops && ./deploy.sh (add -p for production) to deploy.
  4. You're all set! Visit:

Other Deployments

This project generally fits the "Flask app" mold. Contact us if you need help: labs@transitmatters.org

Support TransitMatters

If you've found this app helpful or interesting, please consider donating to TransitMatters to help support our mission to provide data-driven advocacy for a more reliable, sustainable, and equitable transit system in Metropolitan Boston.

About

Tracking the MBTA's new Orange, Red, and Green trains

http://traintracker.transitmatters.org/

License:MIT License


Languages

Language:TypeScript 68.3%Language:Python 18.6%Language:CSS 6.9%Language:Shell 3.6%Language:JavaScript 1.4%Language:HTML 1.1%