- 1. Introduction
- 2. Goals
- 3. Environment
- 4. System
- S.1.13: Components - Mobile/Web
- S.1.14: Components - Content Admin
- S.2.15: User Account
- S.2.16: Profile & Preferences
- S.2.17: Exercise Library
- S.2.18: Session Creation
- S.2.19: Session Execution (Tracking)
- S.2.20: Rest Timer
- S.2.21: Quick Input (Previous Values)
- S.2.22: Session History
- S.2.23: Records (PR)
- S.2.24: Simple Statistics
- S.2.25: Templates / Routine Workouts
- S.2.26: Modification/Cancellation
- S.2.27: Save & Sync
- S.2.28: Simple Conflict Management
- S.2.29: Data Export
- S.2.30: Body Measurements
- S.2.31: Share Session
- S.3.32: Responsive UI
- S.3.33: Basic Accessibility
- S.3.34: Dark Mode
- S.4.35: Scenario: Start Session
- S.4.36: Scenario: Offline in Gym
- S.4.37: Scenario: Check Progression
- S.5.38: V1 Prioritization
- S.5.39: Perceived Performance
- S.6.40: Testable Acceptance Criteria
- S.6.41: Data Reliability
- S.6.42: Minimal Security
- 5. Project
1. Introduction
This document contains the specifications of the LIFT-TRACK project generated automatically.
|
Last update: 2026-01-28. Data source: |
2. Goals
Project vision: provide a simple and stable mobile-first application for tracking weight training, allowing users to visualize their progress and, in the future (V2), interact with sports coaches.
G.1.1: Global Goal
PEGS Ref: G.1
|
Description
Allow a practitioner to track their bodybuilding/fitness workouts simply, reliably, and quickly. |
Priority: Very High
Rationale:
Product Alignment: an app useful in daily life.
Acceptance Criteria:
A user can log a full session in less than 3 minutes of cumulative input time (excluding effort).
G.2.2: Current Situation
PEGS Ref: G.2
|
Description
The practitioner currently uses paper notes/generic apps, resulting in data loss and lack of structure. |
Priority: Very High
Rationale:
Justifies value: structure + history + progression.
Acceptance Criteria:
The PEGS document describes at least 2 current solutions and their limits.
G.3.3: Expected Benefits
PEGS Ref: G.3
|
Description
The app must help to: (1) save time on input, (2) visualize progression, (3) encourage consistency. |
Priority: Very High
Rationale:
Immediate user value.
Acceptance Criteria:
Dedicated screens exist for: fast input + progression + frequency.
G.5.4: Usage Scenarios (Mobile-first)
PEGS Ref: G.5
|
Description
The app must be usable with one hand in the gym: large buttons, short flows, minimal interactions. |
Priority: High
Rationale:
Real usage during training, context constraints.
Acceptance Criteria:
A flow 'Start Session → Log Set → Finish' requires ≤ 5 main actions.
G.6.5: V1 Exclusions
PEGS Ref: G.6
|
Description
V1 excludes: coach marketplace, payments, real-time messaging, advanced AI analysis, watch/health integrations. |
Priority: High
Rationale:
Avoids time traps; keeps focus on the core.
Acceptance Criteria:
The list of exclusions is visible and validated.
G.7.6: Stakeholders
PEGS Ref: G.7
|
Description
Minimum stakeholders are: practitioner (main user), developer (solo), evaluator (professor). |
Priority: Very High
Rationale:
Clarifies expectations and arbitration.
Acceptance Criteria:
A 'Stakeholders' section lists needs and success criteria.
3. Environment
Usage context: mainly used on smartphones in gyms, taking into account potentially unstable network connectivity (offline mode) and the physical environment of training.
E.1.7: Glossary
PEGS Ref: E.1
|
Description
A glossary must define key terms: session, exercise, set, repetition, load, PR, template, program. |
Priority: Medium
Rationale:
Reduces misunderstandings in requirements and UI.
Acceptance Criteria:
Glossary contains at least 10 terms and is used in descriptions.
E.3.10: Privacy Constraints (GDPR)
PEGS Ref: E.3
|
Description
The app must minimize personal data (minimization principle) and allow user data deletion/export. |
Priority: Very High
Rationale:
Standard requirement expected for a fitness app.
Acceptance Criteria:
User can export and delete their data from settings.
E.3.8: Gym Usage Constraints
PEGS Ref: E.3
|
Description
The app must work with unstable networks and allow input without depending on a continuous connection. |
Priority: Very High
Rationale:
In gym: 4G/Wi-Fi is often irregular.
Acceptance Criteria:
Offline mode: create a session and log sets without error even without network.
E.3.9: Time Constraints
PEGS Ref: E.3
|
Description
Logging a set must be doable in < 5 seconds via optimized UI (recent values, +/- buttons, auto-focus). |
Priority: Very High
Rationale:
Fast input = adoption.
Acceptance Criteria:
Manual test: logging a set in < 5s on a mid-range mobile.
E.4.11: Hardware Hypothesis
PEGS Ref: E.4
|
Description
The user has a recent Android/iOS smartphone (≤ 5 years) and a modern browser. |
Priority: High
Rationale:
Realistic scoping without targeting obsolete devices.
Acceptance Criteria:
List of tested environments (at least 1 Android + 1 desktop browser).
E.6.12: Integrity Invariant
PEGS Ref: E.6
|
Description
A validated set must never disappear without explicit user action (delete/cancel). |
Priority: Very High
Rationale:
Data loss kills trust.
Acceptance Criteria:
After restarting the app, logged sets are still present.
4. System
Functional scope: covers the Core features of V1 (session tracking, history), the Coaching extension of V2, and the advanced features of V3 (nutrition, wearables).
S.1.13: Components - Mobile/Web
PEGS Ref: S.1
|
Description
The system must include at minimum: a mobile interface (PWA or app), a desktop web interface, and reliable data persistence (local + server). |
Priority: Very High
Rationale:
Global App' vision (not just API).
Acceptance Criteria:
A component diagram is provided.
S.1.14: Components - Content Admin
PEGS Ref: S.1
|
Description
The system must provide an admin area to manage the exercise library (CRUD, tags, muscle groups). |
Priority: High
Rationale:
Avoids database editing / facilitates content evolution.
Acceptance Criteria:
An admin can add/edit an exercise and see it on the user side.
S.2.15: User Account
PEGS Ref: S.2
|
Description
The app must allow account creation, login, logout, and password recovery. |
Priority: Very High
Rationale:
Basis for multi-device usage + backup.
Acceptance Criteria:
Creation/Login/Logout tested successfully.
S.2.16: Profile & Preferences
PEGS Ref: S.2
|
Description
The user must be able to define preferences: units (kg/lb), language (if supported), theme (light/dark), default rest time. |
Priority: High
Rationale:
Minimal useful customization in the gym.
Acceptance Criteria:
Preferences impact display (e.g., kg/lb) immediately.
S.2.17: Exercise Library
PEGS Ref: S.2
|
Description
The user must be able to browse and search exercises, filter by muscle group, and view a card (instructions, targeted muscles). |
Priority: Very High
Rationale:
Speeds up input and reduces errors.
Acceptance Criteria:
Search + filters functional; exercise card displayed.
S.2.18: Session Creation
PEGS Ref: S.2
|
Description
The user must be able to create a session with a name, date, and list of exercises. |
Priority: Very High
Rationale:
Functional core.
Acceptance Criteria:
Create a session with ≥ 3 exercises and find it in history.
S.2.19: Session Execution (Tracking)
PEGS Ref: S.2
|
Description
The user must be able to start a session and log sets for each exercise (reps, load, optional RPE). |
Priority: Very High
Rationale:
Real tracking in the gym.
Acceptance Criteria:
Log ≥ 10 sets in a session and finish the session.
S.2.20: Rest Timer
PEGS Ref: S.2
|
Description
The app must offer a rest timer configurable per exercise or globally, triggerable in one gesture after validating a set. |
Priority: High
Rationale:
Supports the workout flow.
Acceptance Criteria:
After validating a set, timer starts in ≤ 1 action.
S.2.21: Quick Input (Previous Values)
PEGS Ref: S.2
|
Description
During a set, the app must pre-fill fields with the last set performed on this exercise (or previous session). |
Priority: High
Rationale:
Huge time saver.
Acceptance Criteria:
Pre-filling visible and editable; tested on 2 successive sessions.
S.2.22: Session History
PEGS Ref: S.2
|
Description
The user must be able to view session history (list + detail) and filter by period. |
Priority: Very High
Rationale:
Access to recorded data.
Acceptance Criteria:
Display sessions from the last 30 days + detail of one session.
S.2.23: Records (PR)
PEGS Ref: S.2
|
Description
The app must detect and display personal records (max load, max reps at given load, volume) per exercise. |
Priority: Medium
Rationale:
Motivation and progression reading.
Acceptance Criteria:
A PR is updated automatically after a new performance.
S.2.24: Simple Statistics
PEGS Ref: S.2
|
Description
The app must display simple stats: weekly volume, frequency, top exercises, average session time. |
Priority: Medium
Rationale:
Expected benefit G.3.
Acceptance Criteria:
A stats screen exists and reflects logged sessions.
S.2.25: Templates / Routine Workouts
PEGS Ref: S.2
|
Description
The user must be able to save a session as a template and restart a workout from a template. |
Priority: High
Rationale:
Speeds up recurrent usage.
Acceptance Criteria:
Create a template and start a session from that template.
S.2.26: Modification/Cancellation
PEGS Ref: S.2
|
Description
The user must be able to edit a set (correct load/reps) and quickly cancel the last action. |
Priority: High
Rationale:
Avoids frustration during mobile input.
Acceptance Criteria:
Edit an existing set and verify stats recalculation.
S.2.27: Save & Sync
PEGS Ref: S.2
|
Description
Data must be saved locally immediately, then synchronized to the server as soon as possible. |
Priority: Very High
Rationale:
Reliability + Offline.
Acceptance Criteria:
Cut network: input ok; restore network: sync occurs without loss.
S.2.28: Simple Conflict Management
PEGS Ref: S.2
|
Description
In case of concurrent modification (2 devices), the system must apply a simple strategy: last save wins, with a warning. |
Priority: Medium
Rationale:
Avoids over-complexity while remaining coherent.
Acceptance Criteria:
Simulate 2 edits: user sees a conflict message and the final result.
S.2.29: Data Export
PEGS Ref: S.2
|
Description
The user must be able to export their data (CSV/JSON) from settings. |
Priority: Medium
Rationale:
Portability + Assignment + GDPR.
Acceptance Criteria:
Export download; file contains sessions + sets.
S.2.30: Body Measurements
PEGS Ref: S.2
|
Description
The app may allow logging body weight and measurements (optional). |
Priority: Low
Rationale:
Value but not core V1.
Acceptance Criteria:
Add a measurement and display it on a simple curve.
S.2.31: Share Session
PEGS Ref: S.2
|
Description
The app may allow sharing a session summary (image or link). |
Priority: Low
Rationale:
Nice-to-have; risk of scope creep.
Acceptance Criteria:
Share a readable summary via phone apps.
S.3.32: Responsive UI
PEGS Ref: S.3
|
Description
The mobile interface, intended for sports users, must be responsive and optimized for mobile usage. The desktop interface, used by coaches via browser, must also be fully responsive. |
Priority: Very High
Rationale:
Global App: mobile + web.
Acceptance Criteria:
Same flow possible on mobile and desktop without blocking.
S.3.33: Basic Accessibility
PEGS Ref: S.3
|
Description
The app must respect minimal accessibility: readable font size, correct contrasts, keyboard navigation on web. |
Priority: Medium
Rationale:
Quality and inclusivity without huge cost.
Acceptance Criteria:
Manual audit: 200% zoom ok; web tabbing ok.
S.3.34: Dark Mode
PEGS Ref: S.3
|
Description
The app must offer a dark mode (at least on mobile). |
Priority: Medium
Rationale:
Comfort in gym/low light.
Acceptance Criteria:
Toggle dark mode; persistence of choice.
S.4.35: Scenario: Start Session
PEGS Ref: S.4
|
Description
Scenario: from home, the user starts a session (template or new), sees the exercise list, and can log the first set. |
Priority: Very High
Rationale:
Validates main flow.
Acceptance Criteria:
Flow tested end-to-end without useless navigation.
S.4.36: Scenario: Offline in Gym
PEGS Ref: S.4
|
Description
Scenario: network cut, user executes full session; upon reconnection, session is synchronized. |
Priority: Very High
Rationale:
Critical for trust.
Acceptance Criteria:
Test in airplane mode: full session saved then synced.
S.4.37: Scenario: Check Progression
PEGS Ref: S.4
|
Description
Scenario: user opens an exercise and sees evolution (last perfs + PR). |
Priority: Medium
Rationale:
Progression benefit.
Acceptance Criteria:
Exercise History' view displays at least 5 last performances.
S.5.38: V1 Prioritization
PEGS Ref: S.5
|
Description
V1 must prioritize: session tracking, exercise library, history, save/sync. Everything else is deferrable. |
Priority: Very High
Rationale:
Time-to-code: avoid over-engineering.
Acceptance Criteria:
Backlog shows these items as MUST; V2/V3 as SHOULD/COULD.
S.5.39: Perceived Performance
PEGS Ref: S.5
|
Description
Main screens must open in < 1 second on a mid-range smartphone (excluding 1st load). |
Priority: High
Rationale:
Adoption: slowness kills usage.
Acceptance Criteria:
Manual measurement: navigation Home → Session < 1s.
S.6.40: Testable Acceptance Criteria
PEGS Ref: S.6
|
Description
Every V1 feature must be validated by a reproducible manual test scenario (Given/When/Then). |
Priority: Very High
Rationale:
Helps assignment + quality without heavy testing.
Acceptance Criteria:
A manual test file covers 100% of V1 MUSTs.
S.6.41: Data Reliability
PEGS Ref: S.6
|
Description
After crash/restart, the app must recover a stable state (saved sessions and sets), without corruption. |
Priority: Very High
Rationale:
E.6 Invariant applied.
Acceptance Criteria:
Test: force stop app then relaunch: data intact.
S.6.42: Minimal Security
PEGS Ref: S.6
|
Description
Data in transit must be protected (HTTPS) and passwords stored securely (robust hash). |
Priority: High
Rationale:
Basic hygiene, without writing a security thesis.
Acceptance Criteria:
Scan: no plaintext password; connection via HTTPS.
5. Project
Project framework: academic work using the PEGS methodology. Requirements are centralized in a single source (Excel) and documentation is generated automatically via GitHub Actions.
P.1.43: Roles & Responsibilities
PEGS Ref: P.1
|
Description
The project must define the following minimum roles: Practitioner (User), Administrator (content management), and, if enabled, Coach (supervised access). |
Priority: Very High
Rationale:
Avoids ambiguity and guides screen/permission design.
Acceptance Criteria:
A Roles → Rights matrix is available and covers all V1 features.
P.3.44: Versioning Split
PEGS Ref: P.3
|
Description
The project must maintain a V1/V2/V3 split with an explicit list of exclusions for V1. |
Priority: High
Rationale:
Protects Time-to-Code and prevents loss of focus.
Acceptance Criteria:
A 'Scope V1' document exists, with a 'Not Included' section.
P.4.45: V1 Deliverables
PEGS Ref: P.4
|
Description
V1 must deliver an application usable in real conditions to log sessions (creation, execution, history) with reliable saving. |
Priority: Very High
Rationale:
Rapid Dogfooding: validate usage before adding features.
Acceptance Criteria:
A user can log 10 complete sessions on mobile without blocking bugs.
P.5.46: Target Tech (App)
PEGS Ref: P.5
|
Description
The application must be usable on mobile for users (App & Browser). |
Priority: High
Rationale:
Maximizes real usage without multiplying native apps initially.
Acceptance Criteria:
The same functional base is accessible on phone and desktop.
P.6.47: Risk Management
PEGS Ref: P.6
|
Description
The project must identify 5 major risks (data loss, offline, mobile perf, UX complexity, debt) and simple mitigations. |
Priority: High
Rationale:
Reduces classic failure modes of a solo-dev personal app.
Acceptance Criteria:
A risk/impact/mitigation table exists.
P.7.48: Requirements Process
PEGS Ref: P.7
|
Description
Requirements must be traced (unique ID), PEGS classified, and associated with measurable acceptance criteria. |
Priority: Very High
Rationale:
Facilitates academic evaluation and project steering.
Acceptance Criteria:
100% of requirements have ID + PEGS + MoSCoW + acceptance criteria.