https://github.com/brandonp2412/flexify
The fastest Gym Tracking App 💪
https://github.com/brandonp2412/flexify
android fitness flutter graphs gym linux macos timers windows
Last synced: 14 days ago
JSON representation
The fastest Gym Tracking App 💪
- Host: GitHub
- URL: https://github.com/brandonp2412/flexify
- Owner: brandonp2412
- License: mit
- Created: 2024-02-26T03:40:27.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-23T20:38:34.000Z (about 1 year ago)
- Last Synced: 2025-03-28T20:52:07.332Z (about 1 year ago)
- Topics: android, fitness, flutter, graphs, gym, linux, macos, timers, windows
- Language: Dart
- Homepage: https://flexify.presley.nz
- Size: 210 MB
- Stars: 209
- Watchers: 4
- Forks: 13
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# Flexify
Flex on people with this swanky, lightning-quick gym tracker!
## Features
- 💪 **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.
## Screenshots
## Donations
Contributing to Flexify is directly correlated with Gains
- Bitcoin `bc1qzlte8featxzf7xvtp3rjv7qqtwkgpup8hu85gp`
- Monero (XMR) `85tmLfWKbpd8nxQnUY878DDuFjmfcoCFXPWR7XYKLHBSbDZV8wxgoKYUtHtq1kHWJg4m14sdBXhYuUSbxEDA29d19XuREL5`
- [GitHub sponsor](https://github.com/sponsors/brandonp2412)
## Getting Started
To get started with Flexify, follow these steps:
1. **Clone the Repository**: Clone the Flexify repository to your local machine using Git:
```bash
git clone --recursive https://github.com/brandonp2412/Flexify flexify
```
2. **Install Dependencies**: Navigate to the project directory and install the necessary dependencies:
```bash
cd flexify
flutter pub get
```
3. **Run the App**: Launch the Flexify app on your preferred device or emulator:
```bash
flutter run
```
## ChromeDriver Setup
For automated screenshot testing, you'll need to download ChromeDriver:
### Windows
1. **Download ChromeDriver**: Download the latest ChromeDriver for Windows:
```bash
curl -L -o chromedriver.zip "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.85/win64/chromedriver-win64.zip"
```
2. **Extract**: Extract the downloaded zip file:
```bash
tar -xf chromedriver.zip
```
### macOS/Linux
1. **Download ChromeDriver**: Download the appropriate version for your system:
```bash
# 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"
```
2. **Extract**: Extract the downloaded zip file:
```bash
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.
## 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`
```dart
int get schemaVersion => 2;
```
2. Run database migrations
```sh
./scripts/migrate.sh
```
3. Add the migration step
`lib/database/database.dart`
```dart
from1To2: (Migrator m, Schema2 schema) async {
await m.addColumn(schema.myTable, schema.myTable.myColumn);
},
```
## License
Flexify is licensed under the [MIT License](LICENSE.md).

