Skip to content

UC-STU-006: User Profile & Personalisation

1. Metadata

Property Value
ID UC-STU-006
Actor Student
Trigger Student opens Profile tab or completes onboarding
Pre-conditions Student is authenticated with a valid school account
Post-conditions Profile is saved; personalisation engine uses updated data
Priority P1

2. Description

The student profile is the personalisation anchor of the platform. It stores health baselines, dietary preferences, and learning history — driving personalised calorie goals (STU-003), adaptive content recommendations (STU-002), and progress visualisation (STU-004).

3. Profile Fields

Field Source Editable
Name & Photo School onboarding View only (Admin manages)
Grade & School Admin-assigned View only
Date of Birth / Age Admin-assigned View only
Height & Weight Screening (FCM-201) Updated via screening only
Dietary Preference Student self-select Yes
Language Preference Student self-select Yes
Notification Settings Student Yes
Badges Earned System-generated View only

4. Personalisation Impact

Profile Data Drives
Age + Weight Calorie and hydration targets (STU-003)
Dietary Preference Content surfacing in video library (STU-002)
Grade Assigned curriculum module pool (ADM-101)
Language UI language and subtitle preference

5. Acceptance Criteria

  • [ ] Students can update dietary preference and notification settings without Admin intervention.
  • [ ] Admin-assigned fields (grade, school, DOB) must be read-only to students.
  • [ ] Height/Weight updates must only come through the Coordinator screening flow.
  • [ ] Badges must be visible on the profile and link to the relevant activity.
  • [ ] Profile photo upload must be optional and subject to file size limits (< 2 MB).

6. Profile & Personalisation Flow

graph TD A[Student Opens Profile] --> B[Load profile from API] B --> C[Display: Name, Grade, Screening Data, Badges] C --> D{Student edits preferences?} D -->|Yes| E[Update dietary/language/notification settings] E --> F[Save to DB] F --> G[Trigger personalisation recalculation] G --> H[Update: Calorie Goal, Content Feed, Curriculum] D -->|No| I[View only]