Skip to content
Snippets Groups Projects
Select Git revision
  • 1.0.8
  • main default protected
  • improve-handling
  • 20-user-should-be-able-to-specify-a-min-and-max-value-which-raw-sensor-distances-should-be-recorded
  • 5-reconnect-after-a-connection-los
  • debug-app-id
  • ci-test
  • 1.0.10
  • 1.0.9
  • 1.0.7
  • 1.0.6
  • 1.0.5
  • 1.0.4
  • 1.0.3
  • 1.0.2
  • 1.0.1
  • 1.0.0+1
17 results

obs-app

  • Open with
  • Download source code
  • Your workspaces

      A workspace is a virtual sandbox environment for your code in GitLab.

      No agents available to create workspaces. Please consult Workspaces documentation for troubleshooting.

  • 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