/Flexify

Track your gym progress - Completely offline

Primary LanguageDartMIT LicenseMIT

Flexify

Get fit with Flexify. Easily track your gym progression with offline records and seamless graphs.

GitHub Release Release downloads GitHub repo size

Features

  • 💪 Track gym progress: Log your reps and weights with ease.

  • 📵 Offline: Flexify doesn't use the internet at all.

  • 📈 Graphs: Visualize your progress over time with intuitive graphs.

  • 🏃 Cardio tracking: Record your progress with cardio types.

  • ⚙️ Highly customizable: Toggle features on/off, swap between light/dark theme and much more.

  • ⏱️ Automatic rest timers: Stay focused with alarms after resting.

Get it on Google PlayGet it on F-Droid

Download on the App Store

Screenshots

Migration from Massive

Gym sets and plans can be imported into Flexify.

Donations

If you would like to support this project:

  • Bitcoin bc1qzlte8featxzf7xvtp3rjv7qqtwkgpup8hu85gp
  • Monero (XMR) 85tmLfWKbpd8nxQnUY878DDuFjmfcoCFXPWR7XYKLHBSbDZV8wxgoKYUtHtq1kHWJg4m14sdBXhYuUSbxEDA29d19XuREL5
  • GitHub sponsor

Getting Started

To get started with Flexify, follow these steps:

  1. Clone the Repository: Clone the Flexify repository to your local machine using Git:

    git clone --recursive https://github.com/brandonp2412/Flexify flexify
  2. Install Dependencies: Navigate to the project directory and install the necessary dependencies:

    cd flexify
    flutter pub get
  3. Run the App: Launch the Flexify app on your preferred device or emulator:

    flutter run

Migrations

If you edit any of the models in the lib/database directory you probably need to create migrations. E.g. assume the version starts at 1.

  1. Bump the schemaVersion lib/database/database.dart
  int get schemaVersion => 2;
  1. Run database migrations
./scripts/migrate.sh
  1. Add the migration step lib/database/database.dart
from1To2: (Migrator m, Schema2 schema) async {
  await m.addColumn(schema.myTable, schema.myTable.myColumn);
},

Contributing

Contributions to Flexify are welcomed and encouraged! Whether you want to report a bug, suggest a feature, or submit a pull request, please feel free to contribute. For major changes, please open an issue first to discuss the proposed changes.

License

Flexify is licensed under the MIT License.