Skip to content

A simple SwiftUI app that shows a client's workout performance over time.

Notifications You must be signed in to change notification settings

Pearljam66/Workout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 

Repository files navigation

Workout

A simple SwiftUI app that shows a client's workout performance over time.

Requirements:

  • Shows a single client their progress over time for each exercise.
  • Data must be glanceable, could be in table format but must have an additional format to quickly indicate to the client what their progress is.
  • List of exercises.
  • Progress will be derived from comparing ExerciseSetSummaries for an Exercise over time, instead of comparing it to the Exercise Set.
  • Use the WorkoutsController to load in the WorkoutSummaries.

Notes:

  • I updated the data so that it was more recent since in a real world situation most exercise data would be within the past year.

Ideation Phase:

Screenshots:

Here are some screenshots showcasing the app's features:



`



If I had more time I would have:

  • Used MVVM architecture for better separation of code and easier testing.
  • Used Core Data to save all of the model-related data and goals, rather than having to fetch and iterate through the raw JSON each time and rely on AppStorage for saving goals.
  • Added unit and UI tests.
  • Refactored the code so there isn’t duplicate functionality throughout the chart code.
  • Fixed the runtime Swift Charts warning.
  • Fixed some minor UI bugs (for example: the GoalGaugeSection not stretching across the screen properly in landscape mode and values on charts being slightly to the left).
  • Added a description for each exercise on the ExerciseDetails screen since some of the lesser known exercises aren't as obvious as to what they are.
  • Added better preview data code, perhaps using more realistic data similar to the json data provided.

About

A simple SwiftUI app that shows a client's workout performance over time.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages