andreped / IronFlow

📳 IronFlow: Cross-platform mobile app for strength training progress tracking
MIT License
11 stars 0 forks source link

feat: Body weight tracking + body weight as mass lifted #197

Closed Mafeffe closed 2 months ago

Mafeffe commented 2 months ago

Add option to track your own body weight. Make sure the users know to weigh themselves in the mornings after urinating, in order to get as consistent results as possible. Graph showing body weight over time?

Some exercises are done with body weight (for example pull-ups). Exercises should have the option to add "body weight" as the lifted weight, and could then get the number directly from the person's set body weight at that time. Exercises should also have the ability to add more than body weight. I do weighted pull-ups with 15 or 20 kg hanging in a chain around my waist, therefore making me lift body weight + 20 kg. However, without the up-to-date body weight option, if I were to gain 5 kg and still lift 20 kg some months later, it would look like I have stagnated strength-wise, while in reality I lift 5 kg more.

andreped commented 2 months ago

Add option to track your own body weight. Make sure the users know to weigh themselves in the mornings after urinating, in order to get as consistent results as possible. Graph showing body weight over time?

@Mafeffe This is a feature I would love to have as well! Others have requested the same, see https://github.com/andreped/IronFlow/issues/143.

I can try to draft a solution on Tuesday/Wednesday.

What's problematic with this is that I would need to store this, most optimally in a different table in the database. When doing so the database schema changes, which introduced challenges when users attempt to upgrade their app - if this does not work, the user will be unable to upgrade and only way to upgrade would be to delete their app (losing all their data), and then installing the new version from scratch -> this is not what we want.

I will therefore take my time implementing and testing this before I add it, to make sure nothing gets lost for future upgrades.

Some exercises are done with body weight (for example pull-ups). Exercises should have the option to add "body weight" as the lifted weight, and could then get the number directly from the person's set body weight at that time.

I have been thinking about this exact feature as well. I am not sure how to most optimally add it though, so I have been hesitant to add it. But I might have a crack at it, after I had added support for saving your weight and tracking it over time :]

andreped commented 2 months ago

@Mafeffe I hope it is OK that I will split this feature request into two comments, as the first one has to be handled first and requires a lot of work to get added.

The feature request about the body weight option I will move to another feature request :]

andreped commented 2 months ago

@Mafeffe Small update. I merged a PR to add support for logging weight, age, and height to a new database table, as well as ability to visualize it in the table: https://github.com/andreped/IronFlow/commit/75f0890d4e210c69655a935322ffb16571868d90

Work still remains to add it to the visualization tab, as well as clean-up and verify that the changes didnt introduce any bugs.

When all that is done, I will make a new release :]

andreped commented 2 months ago

@Mafeffe In the latest release I have now added very basic functionality to add your own weight, height, and age and monitor these over time: https://github.com/andreped/IronFlow/releases/tag/v0.5.2

I will be addressing the body weight feature soon, and will be available in the next release v0.5.3.

As the requested feature is now available, I will close this issue.