Skip to content

Repository files navigation

Better Rail

 

Better Rail is an open source mobile client for Israel Railways, with an emphasis on great design, performance and accessibility.

Available on the App Store & Play Store

Overview

Better Rail is built with React Native. We also use Swift and Kotlin to leverage native platform functionalities.

The repository is a Bun workspaces monorepo:

Path What
apps/mobile The React Native / Expo app (README)
apps/server Notification & timetable server (README)
apps/website better-rail.co.il static site (README)

Installation

The following steps assume your environment is already set up for running Expo / React Native apps (Xcode for iOS, Android Studio for Android).
If this is your first time, check out the Expo local development setup guide beforehand.

Prerequisites

Setup Steps

  • Fork the repo and clone it to your machine.
  • Run bun install from the repository root (this installs every workspace).
  • cd apps/mobile, then run bun start to start the development server.
  • Android only: run cp -v google-services{.development,}.json
  • Run the app with:
    • bun prebuild --platform ios && bun ios (to open the iPhone simulator)
    • bun prebuild --platform android && bun android (for the Android emulator).

The first run generates the native projects and may take a while.

If you change anything that affects the native layer (config, plugins, native dependencies), run bun prebuild to regenerate the native projects.

If you want to contribute and face issues during installation, please reach out to us at feedback@better-rail.co.il and we'll try to help!

Workspace scripts

Every app can also be driven from the repository root:

bun run mobile:start   # Metro / Expo dev server
bun run mobile:e2e:ios # Maestro on an installed iOS E2E build
bun run mobile:e2e:android # Maestro on an installed Android E2E build
bun run server:dev     # server in watch mode
bun run website:dev    # static site on :8000
bun run lint           # oxlint + oxfmt across the repo
bun run test           # mobile + server tests

EAS commands run from apps/mobile.

License

The source code is released under the AGPL-3.0 license.
The project assets - the user interface, app branding, images, illustations, icons and fonts are outside the scope of the license.

About

An alternative mobile client for Israel Railways

Topics

Resources

Stars

306 stars

Watchers

4 watching

Forks

Releases

Used by

Contributors

Languages