Domain Model

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

Entities:

TermDefinition
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 Routine (WR)A static entity that groups Workout Activities into a package. The system can recommend the best workout within a routine for the user to complete, based on their current afterburn state.

Other Terms:

TermDefinition
Max Workout Impact (MWI)A figure between 0 - 100 representing the maximum ability of a specific workout definition to cause an adaptive response for the user, given contents of the workout and the user's fitness level.
Actual Workout Impact (AWI)A figure between 0 - 100 representing the aggregate adaptive response the user gained from completing a workout activity.
Impact Credit (IC)The total of the user's actual workout impact gained from workout activities since their last fitness test. Shown on the big bar on the main screen.
Adaptive Response (AR)A modelling of the way the user's body adapts after exercise to become stronger and fitter. We model four separate response types.
Response Stress (RS)The amount of 'work done' during a workout activity that will stress the users adaptive responses.
Fitness Level (FL)A figure from 0 - 50 representing the fitness of the user, as determined by their most recent fitness test. Level 0 is morbidly obese and 50 is elite athlete.
Cardio Fitness Bias (CFB)A multiplier that shows how much the user's fitness level leans towards cardiovascular fitness (away from muscular strength). A value < 1.0 shows a bias towards muscular strength (away from cardiovascular fitness).


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

  1. 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.
  2. 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.
  3. 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

NameNotes
TypeThe 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.
TitleThe title of the workout.
DescriptionThe user-facing description of the workout.
ExercisesThe list of Exercise Definitions that are included in the workout, plus their duration.
Break DurationThe 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

NameNotes
Workout Definition ReferenceA reference to the WD that this activity was created from.
CreatedThe date/time the WA was created.
CompletedThe date/time the WA was completed.
ExercisesThe list of Exercise Activities that were performed in the workout, including their duration.
Active Calories BurnedThe total calories burned during the workout.
Completion Heart RateThe user's HR on completion of the activity.
Perceived ExertionThe user's perceived exertion level on completion of the activity.
IntensityCalculated from the CHR and PE figures at the end 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

NameNotes
BehaviourThe behaviour type of the ED - e.g. Interval Training Step.
TitleThe title of the exercise.
DescriptionThe user-facing description of the exercise.
VideoAn optional video that is shown during the Exercise Activity (and available via the Exercise Library).
Calorie Burn Per SecondThe baseline number of calories that this exercise burns per second.
Cardio Effect

The effect that this exercise has on the cardio adaptive response.

Strength EffectThe effect that this exercise has on the strength adaptive response.
Metabolic EffectThe effect that this exercise has on the metabolic adaptive response.
EPOC EffectThe effect that this exercise has on the EPOC adaptive response.

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

NameNotes
Exercise Definition ReferenceA reference to the ED that this activity was created from.
Workout Activity ReferenceA reference to the WA that this activity is part of.
CreatedThe date/time the EA was created.
DurationThe length of time that this exercise activity was performed for.