GithubHelp home page GithubHelp logo

kiritchoukc / power_progress Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 1.0 58.43 MB

Powerlifting workout generator app

License: MIT License

Kotlin 0.06% Swift 0.18% Objective-C 0.02% Dart 99.08% HTML 0.50% JavaScript 0.17%

power_progress's Introduction

power_progress's People

Contributors

dependabot[bot] avatar kiritchoukc avatar vitominheere avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

vitominheere

power_progress's Issues

[FEAT] Exercise details

Is your feature request related to a problem? Please describe.
User should be able to check all the details of the exercise on the details screen

Describe the solution you'd like
The details screen should contain

  • The exercise name
  • The delete button on the upper right corner
  • The generated workouts

[FEAT] Disable onboarding for the next launches

Is your feature request related to a problem? Please describe.
Everytime the app is launched, the onboarding is the first page. It needs to happen only on the first launch

Describe the solution you'd like
Once the onboarding is complete, set a local value to display dashboard for the next launches

[FEAT] Adding an exercise

Is your feature request related to a problem? Please describe.
A user should be able to add an exercise from onboarding, dashboard dummy card and app bar action button.

Describe the solution you'd like

  • Show a new screen with 3 inputs:
    • Exercise name
    • 1RM
    • Steps
  • and 2 buttons
    • Cancel - Goes back to the previous screen
    • Add - Fires an event to add the new exercise
  • Use bloc state management to handle events and update widgets.
  • Use Hive to store data locally
  • Data Model:
    • Id integer The exercise internal identifier
    • OneRM double - The 1RM entered when creating the exercise (updated on realization day)
    • Name string - The name of the exercise
    • Incrementation double - The value used when incrementing 1RM the next months
    • Note string - option note on the exercise

[FEAT] Setup routing animation

Is your feature request related to a problem? Please describe.
Navigation is glitchy sometimes

Describe the solution you'd like
Setup up smooth transition between pages

[FEAT] Workouts month navigation

Is your feature request related to a problem? Please describe.
Users should be able to navigate between month on workout page.

Describe the solution you'd like
Add navigation on top or bottom of workout page

[FEAT] Deleting an exercise

Is your feature request related to a problem? Please describe.
After selecting an exercise's card, the user should be able to delete it

Describe the solution you'd like
When clicking the delete button that appeared when selecting a card. The exercise should be removed.

[FEAT] Splash screen

Is your feature request related to a problem? Please describe.
Atm, there is an ugly circular loader

Describe the solution you'd like
Add beautiful loader splash screen

[BRAND] Make a better looking logo

Is your feature request related to a problem? Please describe.
Current logo is not very good...

Describe the solution you'd like
Design a new logo

[FEAT] Exercise card click

Is your feature request related to a problem? Please describe.
User should be able to tap on a card and get redirected to a new screen

Describe the solution you'd like
Listen on tap gesture on a card to push a new screen containing the details of the exercise
For now, the screen will only contain the exercise's name and a button to delete it on the upper right corner

[FEAT] Enhance onboarding design

Is your feature request related to a problem? Please describe.
Onboarding should be delightful for the user.

Describe the solution you'd like
Use gradients and different Font/Colors to make it a dynamic experience.

[FEAT] Add lbs support

Is your feature request related to a problem? Please describe.
User should be able to choose between Lbs or Kgs unit

Describe the solution you'd like
Add a conversion method between kgs and pounds if user choose Lbs unit

[BUG] No OneRm on new exercise

Problem:
When adding a new exercise, the new one rm is added for the second month instead of the first one.

Solution:
Create a OneRmInit Event to handle one rm init.

[FEAT] Long press on exercise card

Is your feature request related to a problem? Please describe.
The user should be able to select an exercise by long-pressing a card

Describe the solution you'd like
Handle the long-press gesture on a card to select it

  • Set a select style to the card
  • Add a delete button in the upper right corner

[FEAT] Workouts Graph

Is your feature request related to a problem? Please describe.
Add a visualisation of the workout as a linear graph. Show the user where he currently is and where is going to be in terms of time.

Describe the solution you'd like
On a workout page,
Add a button next to the remove button,
Navigating to a new page showing the graph oneRm/time or volume/time.
add a color telling the done and undone parts.

[BRAND] Android icon

Is your feature request related to a problem? Please describe.
The android application need to be deployed with the icon.

Describe the solution you'd like
Make the different icon format and set it up in the android folder

[FEAT] Review error handling

Is your feature request related to a problem? Please describe.
Users should be prompted a clear message when an error occurred.

Describe the solution you'd like
Review the entire flow of processing errors inside the application.

[FEAT] Rework add page

Is your feature request related to a problem? Please describe.
Navigating the user to a whole new page for only 2 fields is a bit too much.

Describe the solution you'd like

  1. Having a dummy card transforming into a form and then a real card.

Or

  1. A pop up card at the top of the add button with the 2 fields. The add button transform into a validation button. Once validated, the card slide into its place.

[FEAT] Add about dialog

Is your feature request related to a problem? Please describe.
Users should have access to the application informations

Describe the solution you'd like
Add a button in the bottom app bar opening a dialog with the application informations.

[FEAT] Validate week workout

Is your feature request related to a problem? Please describe.
When the user hits the check button, the workout should be marked done.

Describe the solution you'd like
When done, the exercise should be modified and persisted in local storage

[FEAT] Change icons for better ones

Is your feature request related to a problem? Please describe.
Current icons are meant to be temporary.

Describe the solution you'd like
Find icons that reprensents the intent better.

[FEAT] Settings page

Is your feature request related to a problem? Please describe.
Add a page containing the user's settings.

Describe the solution you'd like
Add a button on the bottom app bar to open a new page.
Settings available:

  • Dark theme
  • About applications with licenses

[FEAT] Add confirmation for exercise remove

Is your feature request related to a problem? Please describe.
An exercise should not be removed directly to avoid accidental hit on remove button

Describe the solution you'd like
A confirmation should be prompted to the user

[FEAT] Add app name

Is your feature request related to a problem? Please describe.
The current name displayed is "power_progress"

Describe the solution you'd like
Set a well formatted name

[FEAT] Prevent user from validating a week if previous one is not validated

Is your feature request related to a problem? Please describe.
Users should not be able to validate a week if the previous one is not validated.

Describe the solution you'd like
Disable the next weeks if the current week is not validated.
If the user invalidates a week, the next ones should be invalidated after a confirmation prompt.

[FEAT] Generate the first month

Is your feature request related to a problem? Please describe.
When adding a new exercise, the first month should be generated

Describe the solution you'd like
The first month should be generated and stored locally.
The 4 first weeks should be generated as following

  • Week 1 - Accumulation
    • 5x10 @ 1RM*0.6
  • Week 2 - Intensification
    • 1x5 @ 1RM*0.55
    • 1x5 @ 1RM*0.625
    • 3x10 @ 1RM*0.675
  • Week 3 - Realization
    • 1x5 @ 1RM*0.5
    • 1x3 @ 1RM*0.6
    • 1x1 @ 1RM*0.7
    • 1x10 @ 1RM*0.75 (10 being the target)
  • Week4 - Deload
    • 1x5 @ 1RM*0.4
    • 1x5 @ 1RM*0.5
    • 1x5 @ 1RM*0.6

Describe alternatives you've considered
Generation should be stored or processed everytime or processed once then cached...

Additional context
Data model of a realization:

  • Id integer - The realization internal identifier
  • ExerciseId integer - The internal identifier of the linked exercise
  • Month integer - The number of month of the current realization
  • RealizationDate DateTime - The date when the realization is accomplished
  • RepetitionsDone integer - The number of repetitions done on realization AMRAP (as many reps as possible)

[FEAT] Remove incrementation field

Is your feature request related to a problem? Please describe.
Incrementation should be hidden for now. Maybe it will be available as an option later.
Set it to 2 by default

Describe the solution you'd like
Hide incrementation field and set it to 2 by default.

[FEAT] Theming

Is your feature request related to a problem? Please describe.
The user interface should be consistent and easily readable.

Describe the solution you'd like
Configure theming

[FEAT] Appbar

Is your feature request related to a problem? Please describe.
A user should be able to access important features from the main dashboard

Describe the solution you'd like
An appbar should be displayed at the bottom.
At first there will be only one button at the right of the bar
"Adding an exercise action"

[FEAT] Add predefined exercises

Is your feature request related to a problem? Please describe.
When adding a new exercise, users should have the choice between picking a predefined exercise or creating a custom one.

Describe the solution you'd like
Add a list of predefined exercises in in-app memory.
The add form should now be a single input with a select list.
There is a new button to create a custom exercise

[FEAT] Handle done realizations

Is your feature request related to a problem? Please describe.
When a realization is done, the user has to enter the reps he has done.

Describe the solution you'd like
When hitting the check button, the user should be asked for the reps done.
The reps should be persisted and update the one RM.

[FEAT] Dashboard

Is your feature request related to a problem? Please describe.
The user should be able to see every exercises he created.

Describe the solution you'd like
The exercises should be displayed as a list of tiles/cards.
A card should contain

  • The exercise name
  • The current 1RM
  • (The steps)
  • The current month
  • The next workout/week (accumulation, intensification, realization, deload)
    A dummy card should be shown that will be used to add an exercise

[ANDROID] Add release config

Is your feature request related to a problem? Please describe.
App needs to be configured for release.

Describe the solution you'd like
Use flutter docs to check everything is done for release.
docs

[FEAT] Onboarding

Is your feature request related to a problem? Please describe.
The user needs to be welcomed and helped to create its first exercise

Describe the solution you'd like
Multiple screens like steps

  1. Welcome Message + 1st exercise name choice
  2. Additional information about the exercise
    • 1RM (+ help message: What's 1RM ?. Provide a way to find this information(maybe another task))
    • Steps (+ help message: Show preset and recommendation)
    • Loading (processing) + explanations

[FEAT] Dark theme

Is your feature request related to a problem? Please describe.
User should be able to choose a dark theme or dark theme should be applied if the user's system theme is dark.

Describe the solution you'd like
Configure a dark theme and provide a way to switch between light and dark theme

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.