Note
This is not a data model. The relationship between the domain model and the data model will be close but the domain model does not directly define the properties of the data model. It is the responsibility of the developer to translate it.
Language Terms
Term | Definition |
---|---|
Workout Definition (WD) | A static entity that is a template for a workout (e.g. a running, gym training, etc). |
Workout Activity (WA) | An entity representing a performed workout - an actual instance of a workout that the user performed on a specific date. |
Exercise Definition (ED) | A static entity that represents a single template exercise (e.g. push-ups). |
Exercise Activity (EA) | An entity representing an exercise that was performed as part of a Workout Activity. |
Workout Definition (WD)
An entity that defines a 'workout template' that consists of one or more exercises that are completed in order by the user. A new Workout Activity (WA) can only be created based on a WD.
Requirements
- In future there will be multiple types of workout (and therefore WD). For version 1.0, we will only support Interval Training but the domain (and data) model must support the addition of other types in future.
- Interval Training consists of a series of Exercise Definitions with specified time durations that are presented in order, each one starting after the previous one (with a small break countdown in between). Each ED can present a fullscreen video but this is not compulsory. This is the only WD type we have in v1.0.
- Future WD types will include running, cycling and others. These types will consist of single or multiple Exercise Definitions, will require different UI (maps, GPS, etc), will not necessarily use a countdown timer.
Properties
Name | Notes |
---|---|
Type | The type of workout (Interval Training, Running, Cycling, Mixed, etc). This may not be a property in the data model. Maybe subclassing would be more appropriate. |
Title | The title of the workout. |
Description | The user-facing description of the workout. |
Exercises | The list of Exercise Definitions that are included in the workout, plus their duration. |
Break Duration | The duration of the break countdown between exercises. |
Workout Activity (WA)
An entity that represents a single workout performed by the user at a specific point in time. It captures all data about that activity and can be used to calculate Post-exercise Calorie Burn (PCB) in the 24 hour period after completion.
Properties
Name | Notes |
---|---|
Workout Definition Reference | A reference to the WD that this activity was created from. |
Created | The date/time the WA was created. |
Completed | The date/time the WA was completed. |
Exercises | The list of Exercise Activities that were performed in the workout, including their duration. |
Active Calories Burned | The total calories burned during the workout. |
Completion Heart Rate | The user's HR on completion of the activity. |
Perceived Exertion | The user's perceived exertion level on completion of the activity. |
Exercise Definition (ED)
An entity that defines an 'exercise template'. It captures all info relating to a specific exercise. An ED can be included in multiple Workout Definitions and then completed as part of a Workout Activity.
There are multiple exercise behaviours that relate specifically to the different types of workout described in the Workout Definitions section. Specific workout types will consist of exercises that are specific to that type and have specific presentation and storage needs. For example, a 5k run will require specific UI, UX and data that is not appropriate for a timed interval of push-ups. The only behaviour needed for v1.0 is Interval Training Step, which specifies a set duration that is presented to the user via a countdown timer.
Properties
Name | Notes |
---|---|
Behaviour | The behaviour type of the ED - e.g. Interval Training Step. |
Title | The title of the exercise. |
Description | The user-facing description of the exercise. |
Video | An optional video that is shown during the Exercise Activity (and available via the Exercise Library). |
Calorie Burn Per Second | The baseline number of calories that this exercise burns per second. |
Exercise Activity (EA)
An entity that represents a single exercise performed by the user as part of a Workout Activity. It captures data about what that exercise was and how many calories the user burned.
Properties
Name | Notes |
---|---|
Exercise Definition Reference | A reference to the ED that this activity was created from. |
Workout Activity Reference | A reference to the WA that this activity is part of. |
Created | The date/time the EA was created. |
Duration | The length of time that this exercise activity was performed for. |