- Notifications
You must be signed in to change notification settings - Fork 0
ci: drop obfuscation for reproducible builds; refresh README#72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
Changes from all commits
File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -6,32 +6,51 @@ | ||
| <p> | ||
| <a href="https://flutter.dev/"><img src="https://img.shields.io/badge/Flutter-%2302569B.svg?style=for-the-badge&logo=Flutter&logoColor=white" alt="Flutter Badge"/></a> | ||
| <a href="https://dart.dev/"><img src="https://img.shields.io/badge/Dart-0175C2.svg?style=for-the-badge&logo=dart&logoColor=white" alt="Dart Badge"/></a> | ||
| <a href="https://github.com/Devasy23/Workout-logger/stargazers"><img src="https://img.shields.io/github/stars/Devasy23/Workout-logger?style=for-the-badge&color=yellow" alt="Stars Badge"/></a> | ||
| <a href="https://github.com/Devasy23/Workout-logger/network/members"><img src="https://img.shields.io/github/forks/Devasy23/Workout-logger?style=for-the-badge&color=orange" alt="Forks Badge"/></a> | ||
| <a href="https://github.com/Devasy23/Workout-logger/issues"><img src="https://img.shields.io/github/issues/Devasy23/Workout-logger?style=for-the-badge&color=red" alt="Issues Badge"/></a> | ||
| <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge" alt="License Badge"/></a> | ||
| <a href="https://github.com/Devasy/RepForge/stargazers"><img src="https://img.shields.io/github/stars/Devasy/RepForge?style=for-the-badge&color=yellow" alt="Stars Badge"/></a> | ||
| <a href="https://github.com/Devasy/RepForge/network/members"><img src="https://img.shields.io/github/forks/Devasy/RepForge?style=for-the-badge&color=orange" alt="Forks Badge"/></a> | ||
| <a href="https://github.com/Devasy/RepForge/issues"><img src="https://img.shields.io/github/issues/Devasy/RepForge?style=for-the-badge&color=red" alt="Issues Badge"/></a> | ||
| <a href="https://github.com/Devasy/RepForge/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-green.svg?style=for-the-badge" alt="License Badge"/></a> | ||
| </p> | ||
| </div> | ||
| --- | ||
| ## 📖 About RepForge | ||
| **RepForge** (formerly Workout-logger) is an open-source, beautifully designed workout logging mobile application built with Flutter. Whether you're a powerlifter, a casual gym-goer, or someone just starting their fitness journey, RepForge empowers you to track your workouts seamlessly, visualize your progress with detailed analytics, and stay motivated. | ||
| **RepForge** (formerly Workout-logger) is an open-source, beautifully designed workout logging mobile application built with Flutter. Whether you're a powerlifter, a casual gym-goer, or someone just starting their fitness journey, RepForge empowers you to track your workouts seamlessly, visualize your progress with detailed analytics, and stay motivated. | ||
| Tired of subscription-heavy fitness apps? RepForge is built *by* lifters, *for* lifters. It keeps your data local, offline, and completely under your control. | ||
| ## ✨ Key Features | ||
| - **📊 Advanced Analytics:** Visualize your gains, volume, and consistency with stunning charts powered by `fl_chart`. | ||
| - **⚡ Super-Fast Logging:** An intuitive UI that gets out of your way so you can focus on the pump. | ||
| - **📱 Offline-First:** Your data is stored locally using Hive for lightning-fast, secure access anywhere, even without internet. | ||
| - **📊 Advanced Analytics:** Volume trends, per-exercise progression with estimated 1RM, muscle-group focus and recovery balance, and a full personal-records log — powered by `fl_chart`. | ||
| - **⚡ Super-Fast Logging:** An intuitive active-workout flow with AI-suggested weight/reps for your next set, dropsets, and rest timers that gets out of your way so you can focus on the pump. | ||
| - **🗓️ Routines & Programs:** Build reusable routines, queue up your next session, and follow structured multi-week training programs. | ||
| - **🫀 Health Connect Integration:** Syncs workouts to Android Health Connect and reads sleep/heart-rate data back in to score daily training readiness. | ||
| - **🤖 AI Coach:** A conversational, tool-calling coach (powered by Gemini) that can query your own workout history, chart correlations, and explain your progress — see [Anti-Features](#-anti-features) below. | ||
| - **📱 Offline-First:** Your data is stored locally for fast, secure access anywhere, even without internet. | ||
| - **🔄 Export/Import:** Never lose your data. Back up and restore your workout history at your convenience. | ||
| - **🤖 Smart Insights:** Machine Learning integration for AI-powered workout insights. | ||
| - **🎨 Custom Theming:** A modern, sleek interface with customizable themes tailored to your style. | ||
| - **🎨 Custom Theming:** A modern, soft-futurist interface with a consistent design system. | ||
| ## 📸 Screenshots | ||
| *(Coming soon: Add screenshots of your app's dashboard, workout logger, and analytics screens here)* | ||
| <p align="center"> | ||
| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/1_home.png" width="180" alt="Home dashboard"/> | ||
| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/2_routines.png" width="180" alt="Routines"/> | ||
| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/3_active_workout.png" width="180" alt="Active workout logging"/> | ||
| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/4_history.png" width="180" alt="Workout history"/> | ||
| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/6_analytics_overview.png" width="180" alt="Analytics overview"/> | ||
| </p> | ||
| <p align="center"> | ||
| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/7_analytics_exercise.png" width="180" alt="Exercise progression"/> | ||
| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/8_settings.png" width="180" alt="Health Connect settings"/> | ||
| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/9_ai_coach_analysis.png" width="180" alt="AI Coach analysis"/> | ||
| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/10_ai_coach_recovery.png" width="180" alt="AI Coach muscle recovery"/> | ||
| </p> | ||
| ## 🚫 Anti-Features | ||
| RepForge's core workout logging, routines, and analytics work fully offline. The **AI Coach** is optional and relies on Google's Gemini API over the network — it's the only feature that isn't free/local, and it's disclosed as such in the app's F-Droid listing. | ||
| --- | ||
| @@ -43,14 +62,14 @@ Want to take RepForge for a spin or contribute? Follow these steps to build the | ||
| - [Flutter SDK](https://docs.flutter.dev/get-started/install) | ||
| - Android Studio / VS Code | ||
| - An Android/iOS device or emulator | ||
| - An Android device or emulator | ||
| ### Installation | ||
| 1. **Clone the repository:** | ||
| ```bash | ||
| git clone https://github.com/Devasy23/Workout-logger.git | ||
| cd Workout-logger/workout-logger | ||
| git clone https://github.com/Devasy/RepForge.git | ||
| cd RepForge/workout-logger | ||
| ``` | ||
Comment on lines
69
to
73
Contributor There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win Add blank lines around the fenced code blocks.
Also applies to: 85-90 🧰 Tools🪛 markdownlint-cli2 (0.23.2)[warning] 70-70: Fenced code blocks should be surrounded by blank lines (MD031, blanks-around-fences) 🤖 Prompt for AI AgentsSource: Linters/SAST tools | ||
| 2. **Install dependencies:** | ||
| @@ -66,9 +85,14 @@ Want to take RepForge for a spin or contribute? Follow these steps to build the | ||
| ### Building for Production | ||
| To build a release APK for Android: | ||
| ```bash | ||
| flutter build apk --release | ||
| flutter build apk --release --split-per-abi | ||
| ``` | ||
| The APK will be available in `build/app/outputs/flutter-apk/app-release.apk`. | ||
| The APKs will be available under `build/app/outputs/flutter-apk/`. | ||
| ### Getting the App | ||
| - **GitHub Releases:** [github.com/Devasy/RepForge/releases](https://github.com/Devasy/RepForge/releases) | ||
| - **F-Droid:** submission in progress | ||
| --- | ||
| @@ -84,7 +108,7 @@ We believe in the power of open-source! Whether you want to fix a bug, add a fea | ||
| 5. Open a **Pull Request** and describe your changes. | ||
| ### What to work on? | ||
| Check out the **[Issues](https://github.com/Devasy23/Workout-logger/issues)** tab! If you have a new idea, feel free to open a new issue for a feature request or bug report before starting your work. Whether it's a UI tweak, performance upgrade, or a brand new workout mode, we'd love to see it! | ||
| Check out the **[Issues](https://github.com/Devasy/RepForge/issues)** tab! If you have a new idea, feel free to open a new issue for a feature request or bug report before starting your work. Whether it's a UI tweak, performance upgrade, or a brand new workout mode, we'd love to see it! | ||
| ### Development Guidelines | ||
| - Follow standard Flutter and Dart formatting (`flutter format .`). | ||
| @@ -95,7 +119,7 @@ Check out the **[Issues](https://github.com/Devasy23/Workout-logger/issues)** ta | ||
| ## 🛡️ License | ||
| This project is a personal workout tracking application. | ||
| RepForge is licensed under the [Apache License 2.0](LICENSE). | ||
| ## 👨💻 Developer | ||
| @@ -106,4 +130,4 @@ This project is a personal workout tracking application. | ||
| --- | ||
| <div align="center"> | ||
| <i>Forge your strength, track your progress, achieve your goals! 💪</i> | ||
| </div> | ||
| </div> | ||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift
🧩 Analysis chain
🏁 Script executed:
Repository: Devasy/RepForge
Length of output: 8370
🏁 Script executed:
Repository: Devasy/RepForge
Length of output: 20115
Align reproducibility inputs with the F-Droid build.
The release job uses
flutter pub getand edits cachedjni-*CMake files to add-Wl,--build-id=none. Each F-Droid build usesflutter pub get --enforce-lockfileand does not apply either step. This prevents identical dependency and native-build inputs.Apply both steps through a shared script, or update the F-Droid recipe. Removing obfuscation alone does not establish byte-identical APKs.
🤖 Prompt for AI Agents