SKOLE-PROF — Profile & Caretaker Module
Module ID:SKOLE-PROF | Version: 1.0 | Status: ActiveProducts: Parent App
1. Overview
| Field | Value |
|---|---|
| Module Name | Profile & Caretaker |
| Module Code | PROF |
| Business Value | Gives parents a consolidated view of their family profile and their children’s academic profiles. The Caretaker sub-section manages other adults (grandparents, guardians) who may pick up the child. |
2. Requirements
Functional Requirements (FR)
What the module must DO — actions, behaviors, and outcomes.- SKOLE-PROF-FR001: The module shall allow parents to view their own profile details (drawn from
parent_details). - SKOLE-PROF-FR002: The module shall enable parents to view the full profile and academic details for each linked child.
- SKOLE-PROF-FR003: The module shall allow parents to manage caretaker contacts for child pickup and emergency purposes.
- SKOLE-PROF-FR004: The module shall retrieve profile data directly from the JWT authentication response where possible to avoid redundant API calls.
Non-Functional Requirements (NFR)
How well the module must do it — performance, security, and reliability.- SKOLE-PROF-NFR001: The module shall perform efficient profile rendering by consuming the existing authentication context.
- SKOLE-PROF-NFR002: The module shall behave securely by ensuring parents can only access profile data linked to their authorized
parent_id.
Constraints
Rules and boundaries — tech choices and platform restrictions.- C001: We must maintain data consistency between the
studentsregistry and theparent_detailsfamily mappings. - C002: We must use the
skole_idto partition caretaker records to prevent cross-school data leaks.
3. UI Requirements
| ID | Screen | Route | Description |
|---|---|---|---|
SKOLE-PROF-UI001 | ProfileScreen | /profile | Parent own details — name, phone, email, designation, organization |
SKOLE-PROF-UI002 | ChildProfileScreen | /child-profile | Select + view each linked child (grade, DOB, blood group, ailments) |
SKOLE-PROF-UI003 | StudentProfileScreen | /child-selection | Detailed student info tab (enrollment date, status, address summary) |
| ID | Component | Props |
|---|---|---|
SKOLE-PROF-UC001 | ProfileAvatar | name, initials |
SKOLE-PROF-UC002 | InfoRow | label, value |
SKOLE-PROF-UC003 | ChildSwitcher | children[], selected, onChange |
SKOLE-PROF-UC004 | MedicalAlertBanner | ailment — shows if major_ailment present |
Conditional Expressions
| ID | Expression | Trigger | True Action | False Action |
|---|---|---|---|---|
SKOLE-PROF-CE001 | children.length > 1 | Profile home | Show ChildSwitcher | Show single child directly |
SKOLE-PROF-CE002 | student.major_ailment !== null | ChildProfileScreen | Show MedicalAlertBanner | Hide |
SKOLE-PROF-CE003 | student.blood_group !== null | Profile card | Show blood group chip | Hide |