Charlotte Light Rail App: the when and where of trains and stations. By Charlotte, for Charlotte.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Charlotte Light Rail


  • master: The production branch, tagged by release.
  • development: When you fork this project, you should branch off of this branch and work your magic. (Then send us a PR)
  • android: Working React Native project on Android! Running, but still some work to do. You may want to work off this one as well.
  • v1.0: First production version on iOS.


We're excited to open source this project. This is by the community, for the community. We're looking for contributors. If you're interested and/or have any questions, please reach out to us at or tweet us @teamlunaco.

If you find any dead code or anything that can be improved, please submit a PR (There's definitely some dead code). New features? Submit a PR. And if you want to help with Android, that'd be great. In fact, here's a list. Pick one. Dive in!

What's Next?

  • Make Mapbox Distance Matrix API calls more efficient. (See Issue #4.)
  • Add new light rail extension stations and schedules for the March 16, 2018 opening.
  • Support Android.
  • Consider reintroducing CodePush and analytics (e.g., Firebase).

Getting Started

First-time React Native Setup

If this is your first time running a React Native project on this machine, following the "Getting Started" instructions in the React Native docs here. No need to do the react-native init AwesomeProject part since this project has already been initialized.


You will need to get your own Mapbox API Key. Place it in env.json before you start.

Project Setup

  • git clone
  • cd charlotte-lightrail
  • git fetch
  • git checkout development
  • yarn install
  • A Simulator must be open in order to run the app. If you're on a Mac and have Xcode installed: open /Applications/
  • yarn start

Note: If you get an error where assets or components are pointing to a /node_modules directory, you may need to manually start the packager with npm start -- --reset-cache.


Currently, only Components in src/components have jest tests.

  • Run Tests: yarn test or yarn test:watch
  • Code Coverage: yarn test:coverage

Currently Using


  • @mdwagner: A big thank you for your very good work refactoring and improving this project.