Knuffiworkout

Workout app written using Flutter and Firebase.

Getting Started

  1. Set up Flutter with the editor of your choice.
  2. Create a Firebase account
  3. Set up a Firebase project for knuffiworkout.
    Instructions for creating a Firebase project in Flutter can be found in the Codelab.
    Make sure to follow through steps 5 and 6:
    1. The Android package name should match AndroidManifest.xml (per default de.fmutzel.knuffiworkout)
    2. Add SHA fingerprints for your projects as described in Authenticating your Client.
    3. Download google-services.json from the Firebase console and place it in android/app.
  4. Configure your Firebase project to allow sign-in with Google in the Authentication tab.
  5. Create a Firebase database and set up rules to allow read/write access for each user's data:
{
  "rules": {
    "user": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}
  1. Run the project using flutter run or open it in your IDE.

Contributing

Pull requests welcome! :)

I don't have an iOS device (nor do I have an Apple developer account or a Mac with XCode),
so the iOS code is just the default from the Flutter framework.

Regenerating built_value files

The built_value .g.dart files can be regenerated from the corresponding .dart files using

flutter packages pub run build_runner build --delete-conflicting-outputs

Building a release build

For signing release builds, you need a keystore and some additional information in android/key.properties.

Instructions can be found on the Flutter homepage under "Signing the app".

Feature wishlist

  • Presets for other popular workouts (5x5, Starting Strength, ...)

GitHub

https://github.com/Crazywater/knuffiworkout