Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

OBS App

Connect to the OpenBikeSensor and record overtakes on your Trip.

Install the app on your phone

There are two ways to install the app.

(Prefered) Use Obtainium.

Download the lastest apk from the release page

Development

Getting Started

The App is written in Flutter please consult the flutter setup guides to setup your development enviorment

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Architecture

The app is split in two parts:

  1. foreground_task: This part is responsible for connecting to the OBS, fetching location and record the overtake events. This part is running in a "foregorund_runner".

  2. Main Isolate (Main UI): Display the UI of the app.

The two part communicate via the "events.dart" class.

Translations

The app is (currently) available in German and Englisch. Internationalization is done with flutter_localization. The strings are in the folder lib/l10n. After adding a new String to the .arb file you must run:

flutter gen-l10n

Database

The app uses isar as database. The models live in lib/database. If you change the models you must regenerate isar code to use them:

dart run build_runner build

Currently the generated code is version controlled via the git repo.

Release a new version

  1. Update the version field in **pubspec.yaml.
  2. Create a git tag with the same version number git tag <number>
  3. Push the tag to trigger a pipeline git push --tags origin
  4. After the pipeline is run the compiled file is upload to the package registry
  5. Create a gitlab release link the file from the release as a package. Use the following template for the filename obsapp-arm64-v8a-release-version.apk