An iOS and Android app for MBTA Commuter Rail passengers, written in Elm
Elm JavaScript Objective-C Shell Python Java
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
__tests__ Initial counter example Nov 4, 2016
android Bump android app version Mar 17, 2017
app Update to latest elm-native-ui Jun 16, 2017
bin
elm-stuff
ios
.babelrc
.buckconfig
.elm-native-ui-version Update to latest elm-native-ui Jun 16, 2017
.flowconfig
.gitignore Add sync script for Elm Native UI Feb 3, 2017
.watchmanconfig Initial counter example Nov 4, 2016
CONTRIBUTING.md Improve project documentation Mar 17, 2017
DEPENDENCIES.md Improve project documentation Mar 17, 2017
LICENSE Add GPL license Mar 10, 2017
README.md Improve project documentation Mar 17, 2017
RELEASING.md
elm-package.json Add GPL license Mar 10, 2017
index.android.js Rename Ask to PurpleTrain Dec 9, 2016
index.ios.js
init-push-notifications.ios.js
package.json Update react native to 0.43 Jun 16, 2017
yarn.lock Update react native to 0.43 Jun 16, 2017

README.md

Purple Train

Purple Train is a mobile app that provides schedules, predictions, and alerts for MBTA Commuter Rail riders.

The app is written in the elm language, using the experimental elm-native-ui library. See the Elm Native UI in Production blog post about why we are excited about writing mobile apps in elm.

Setup

  • Make sure you have elm v0.18 installed
  • Run bin/setup

Development

Run yarn run watch

This will start a watch server, which will recompile the elm files when they are saved.

We recommend using elm-format with your editor. You can set it up to format your Elm files when automatically saving them.

Running the app

Run yarn run start to start the react native packager, which will serve the javascript bundle to your mobile devices and simulators.

iOS

Open ios/PurpleTrain.xcodeproj and run the project to launch an iPhone simulator.

Android

Follow the React Native Getting Started guide to create and run a virtual Android device.

Contributing

See the CONTRIBUTING document. Thank you, contributors!

Updating dependencies

Updating elm packages for this project is more complicated than most. See DEPENDENCIES.md for detailed instructions.

Releasing a new version

See RELEASING.md

License

Purple Train is Copyright (c) 2016-2017 Josh Steiner, Ian C. Anderson, and thoughtbot, inc. It is free software, and may be redistributed under the GPL license detailed in the LICENSE file.

About thoughtbot

thoughtbot

Purple Train is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.

We love open source software, Elm, and React Native. Work with thoughtbot's React Native development team to design, develop, and grow your product.