Flex on people with this swanky, lightning-quick gym tracker!
- πͺ Strength: 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: Record your progress with cardio types.
- β±οΈ Timers: Stay focused with alarms after resting.
- βοΈ Custom: Toggle features on/off and swap between light/dark theme.
Contributing to Flexify is directly correlated with Gains
- Bitcoin
bc1qzlte8featxzf7xvtp3rjv7qqtwkgpup8hu85gp
- Monero (XMR)
85tmLfWKbpd8nxQnUY878DDuFjmfcoCFXPWR7XYKLHBSbDZV8wxgoKYUtHtq1kHWJg4m14sdBXhYuUSbxEDA29d19XuREL5
- GitHub sponsor
To get started with Flexify, follow these steps:
-
Clone the Repository: Clone the Flexify repository to your local machine using Git:
git clone --recursive https://github.com/brandonp2412/Flexify flexify
-
Install Dependencies: Navigate to the project directory and install the necessary dependencies:
cd flexify flutter pub get
-
Run the App: Launch the Flexify app on your preferred device or emulator:
flutter run
For automated screenshot testing, you'll need to download ChromeDriver:
-
Download ChromeDriver: Download the latest ChromeDriver for Windows:
curl -L -o chromedriver.zip "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.85/win64/chromedriver-win64.zip"
-
Extract: Extract the downloaded zip file:
tar -xf chromedriver.zip
-
Download ChromeDriver: Download the appropriate version for your system:
# For macOS (Intel) curl -L -o chromedriver.zip "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.85/mac-x64/chromedriver-mac-x64.zip" # For macOS (Apple Silicon) curl -L -o chromedriver.zip "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.85/mac-arm64/chromedriver-mac-arm64.zip" # For Linux curl -L -o chromedriver.zip "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.85/linux64/chromedriver-linux64.zip"
-
Extract: Extract the downloaded zip file:
unzip chromedriver.zip
Note: ChromeDriver files are excluded from git due to their size. You'll need to download them locally for screenshot testing to work.
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
.
- Bump the
schemaVersion
lib/database/database.dart
int get schemaVersion => 2;
- Run database migrations
./scripts/migrate.sh
- Add the migration step
lib/database/database.dart
from1To2: (Migrator m, Schema2 schema) async {
await m.addColumn(schema.myTable, schema.myTable.myColumn);
},
All issues and pull requests are welcome. We don't care what style it's in, we don't care what your variable names are.
Flexify is licensed under the MIT License.