Skip to content

TrackMyIndoorWorkout/TrackMyIndoorWorkout

Repository files navigation

Track My Indoor Workout

Track My Indoor Workout is an application which supports Bluetooth Low Energy (BLE) enabled smart fitness machines to record stationary workouts. Workouts can have GPS routes - generated based on speed - and upload to numerous fitness portals. Workouts can be exported in common formats and in some cases (ANT+ machines or data migration purposes) there's an option to import saved workouts.

The ultimate mission is to improve people's health by preventing fitness machines from becoming laundry drying racks.

For more details please see the application's website.

Contribution Rules

  • The project works on the Flutter beta channel. For details look at flutter/flutter#114199 (comment) and #399
  • For a successful local build you need to augment a dummy secret.dart file, see the the CI build script for a hint: https://github.com/TrackMyIndoorWorkout/TrackMyIndoorWorkout/blob/develop/.github/workflows/flutter_test.yml#L24
  • Execute dart format --line-length 100 . at the project root. The project currently uses flutter format with 100 character line length.
  • Also run flutter analyze at the project root. That picks up the analyzer settings from the yaml. You can consider adding the format and the analyze execution in a client-side pre-push hook.
  • For larger features let me know your plans in advance, so I can open up a feature branch so you can create a PR against that. Internally I follow Git Flow branching conventions (cheat sheet and another info page). I'm performing releases that way as well. I'm also using Git Town but currently only for git sync and I don't employ git hack - git ship workflow. I'm avoiding squashing commits because I want to preserve detailed commit history to help forensic debugging. But I'm flexible if contributions become common and majority wants to change policies.

Code regeneration

With certain data persistence or testing Mock changes you may need code regeneration:

  1. dart run build_runner build --delete-conflicting-outputs
  2. Don't forget to re-run dart format --line-length 100 . after that.

License

This work is licensed under GPL 3.0.

In a nutshell if you borrow or modify any code that work must be mandatorily open source as well!

SPDX-License-Identifier: GPL-3.0

About

Indoor fitness machine (bike, treadmill, rower, kayak / canoe / swim ergometer, elliptical) companion app to record virtual workouts with synthetic GPS track of simply circling on a track shape route

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages