EPIC 2: Progress Tracking and Analysis

E02-F01: Recording Exercise Performance

User Story: As a user, I want to record my performance for each exercise, so that I can track my progress over time and ensure I’m improving.

Scenarios

Scenario: E02-F01-S01 - Recording weight and repetitions for an exercise
  Given I am performing the exercise "Barbell Squat" in my workout
  When I complete a set
  Then I should be prompted to enter the weight used
  And I should be able to confirm or adjust the number of repetitions completed
  And I should be able to rate the difficulty on a scale of 1-5
Scenario: E02-F01-S02 - Automatic comparison with previous performance
  Given I am performing "Barbell Squat" which I've done before
  When I begin the first set
  Then I should see my previous performance data
  And I should see suggested weight based on progressive overload principles
  When I complete the set with higher weight than before
  Then I should receive positive feedback about my progress

Acceptance Tests

# Test d'acceptation
Scenario: E02-F01-TA01 - Adding notes to a set
  Given I am performing the exercise "Deadlift" in my workout
  When I complete a set
  And I tap "Add notes"
  And I enter "Felt tightness in lower back"
  Then my notes should be saved with the set data
  And I should see an indicator that the set has notes attached
# Test d'acceptation
Scenario: E02-F01-TA02 - Handling personal records
  Given I am performing "Bench Press" in my workout
  When I record a set with higher weight than my previous record
  Then I should see a "New PR!" celebration animation
  And the achievement should be recorded in my progress history

E02-F02: Viewing Workout History and Statistics

User Story: As a user, I want to view the history of my workout sessions with key statistics, so that I can analyze my consistency and identify patterns in my training.

Scenarios

Scenario: E02-F02-S01 - Viewing calendar of completed workouts
  Given I am on the main screen of the application
  When I navigate to the "History" section
  Then I should see a calendar view showing days with completed workouts
  And I should be able to identify workout types through different icons or colors
Scenario: E02-F02-S02 - Viewing detailed statistics for a past workout
  Given I am on the "History" screen
  When I select a specific workout from "March 15, 2025"
  Then I should see the total duration of the workout
  And I should see the total volume lifted
  And I should see a list of all exercises completed
  And I should see performance metrics for each exercise

Acceptance Tests

# Test d'acceptation
Scenario: E02-F02-TA01 - Filtering workout history by program type
  Given I am on the "History" screen
  When I tap the filter button
  And I select "Upper Body" as the program type
  Then I should only see workouts that were upper body focused
  And the calendar should update to highlight only those workout days

E02-F03: Visualizing Performance Progress

User Story: As a user, I want to visualize the evolution of my performance on customizable charts, so that I can better understand my progress and stay motivated by seeing visual evidence of my improvements.

Scenarios

Scenario: E02-F03-S01 - Viewing progress chart for a specific exercise
  Given I am on the "Progress" screen
  When I select the exercise "Bench Press"
  And I set the time period to "Last 3 Months"
  Then I should see a line chart showing my weight progression over time
  And I should see data points for each workout where I performed the exercise
  And I should see a trend line indicating my overall progress direction
Scenario: E02-F03-S02 - Comparing progress across different muscle groups
  Given I am on the "Progress" screen
  When I select the "Muscle Groups" view
  Then I should see a chart comparing my strength gains across different muscle groups
  And I should be able to identify which muscle groups have improved the most
  And I should be able to identify potential imbalances in my training

Acceptance Tests

# Test d'acceptation
Scenario: E02-F03-TA01 - Exporting progress data
  Given I am viewing my progress chart for "Bench Press"
  When I tap the "Export" button
  And I select "CSV format"
  Then a CSV file containing my progress data should be created
  And I should be able to share this file via email or cloud storage

E02-F04: Setting and Tracking Goals

User Story: As a user, I want to set measurable goals and track their progress, so that I can stay motivated and have clear targets to work towards.

Scenarios

Scenario: E02-F04-S01 - Creating a weight-based goal
  Given I am on the "Goals" screen
  When I tap "Create New Goal"
  And I select "Weight-based Goal"
  And I choose the exercise "Deadlift"
  And I set a target weight of "300 pounds"
  And I set a target date of "December 31, 2025"
  Then the goal should be created and displayed in my goals list
  And I should see my current progress toward that goal
Scenario: E02-F04-S02 - Tracking progress toward a frequency goal
  Given I have set a goal to "Complete 20 workouts in one month"
  When I complete a workout
  Then my progress toward the frequency goal should automatically update
  And I should see a visual representation of my progress (15/20 workouts)
  And I should see an estimation of whether I'm on track to meet my goal

Acceptance Tests

# Test d'acceptation
Scenario: E02-F04-TA01 - Receiving goal deadline notifications
  Given I have set a goal to reach "225 pound bench press by June 30"
  And today's date is June 15
  And I haven't updated my progress recently
  When I open the application
  Then I should see a notification reminding me of my approaching deadline
  And I should be prompted to update my progress or adjust my goal