bearbob / liftinglog Goto Github PK
View Code? Open in Web Editor NEWAn android app written in React Native to log lifting progress
License: Apache License 2.0
An android app written in React Native to log lifting progress
License: Apache License 2.0
When opening the details for an exercise, the following warning is issued: Warning: Cannot update a component from inside the function body of a different component.
According to https://reactjs.org/blog/2020/02/26/react-v16.13.0.html this could indicate unintentional state changes.
The task is to research this and find the cause of this message. If possible, fix the cause.
The function storage.js/storeObjectInSet should contain each string element only once. Currently the same dates are stored multiple times.
The Charts shown in GeneralStatistics don't seem to refresh after they are mounted, even though they have update callers. This should be fixed.
Function to export the data either as text (might run into problems when to long) or as a file.
Vice versa there should be an option to import this data again.
Add an option to either post data for multiple exercises at once or per exercise.
The data could have the format
exerciseID;date;weight;reps
Upon saving, for each row the normal calculations (one RM, strength Score) are done.
Additionally it would be useful to provide an export with the same data structure
The current implementation of storeWeightLog
runs into a race condition. This can lead to data loss, if request are made fast enough. The reason is, that the current state of the data in the storage is retrieved with retrieveData
and the result is handled in a callback, leading to asynchronous handling.
Additionally to deleting all data, it might be useful to have the option to delete only data for specific exercises.
Add an option to enter new log entries from a text input field where each line represents a new log.
The format should be something like this:
weight;reps;yyyy/MM/dd
ignore whitespaces
Global settings for the app:
Implement a function to add a new exercise.
A new exercise must be categorized as one of the main lifts to be used for strength score calculation.
In App.js the Tab.Navigator sets the icons for the screens. There are screens listed that are no longer called in the tab navigator directly, as well as the missing screen for Statistics, that is currently assigned the default list icon.
Clean the code and find a better icon for the Statistics-Screen (see https://oblador.github.io/react-native-vector-icons/ for overview of available icons)
It should be possible to set a custom week day as start of the week. this is respected in the calculations for Calender weeks
The calculation of the strength score for pullups seems to have a problem for low added weight and no added weight.
Use case: A user saves an entry for an exercise. Shortly after, he manages to do a better entry with higher weight or reps.
The entry should be updated.
For a given date D, given exercise X an entry A with A.weight and A.reps is saved.
A new entry B with date D for exercise X will replace A if B.reps > A.reps or B.weight > A.weight. Otherwise B is not stored.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.