# 2. Parent Registration & Onboarding

User Type: **Parent**
Source: *Mi Digital Academy - Education CRM Features Document*

---

## 2. Parent Registration & Onboarding

### 2.1 Parent Registration
**What it does:** Lets a new Parent create an account on the platform. The Parent provides their name, email, phone, and password, and agrees to the terms. The registration creates the Parent account and sends a verification email. This is the entry point for a Parent to access the platform.

**Sub-features:**
- Register with name, email, phone, and password
- Email format validation
- Phone format validation
- Password strength requirements
- Terms and conditions acceptance
- Duplicate email check
- Registration event logging (submitted, created)
- Audit logging of the parent registration

**Parent User Journey:**
1. A new Parent opens the registration screen.
2. Parent enters their name, email, phone, and password.
3. The platform validates the email and phone formats.
4. The password strength is checked.
5. Parent accepts the terms and conditions.
6. The account is created and a verification email is sent.
7. Parent opens Profile → "Activity" and confirms the registration events are recorded.

**Rules & Edge Cases:**
- The email must be unique and in a valid format.
- The phone must be in a valid format.
- The password must meet the strength requirements.
- The terms and conditions must be accepted.
- Registration events (submitted, created) are logged with the account and the timestamp.
- The parent registration is audit-logged with the account and the timestamp.

### 2.2 Email Verification
**What it does:** Verifies the Parent's email address after registration. The Parent clicks the verification link in the email to confirm ownership. Until verified, the Parent's account has limited functionality. This confirms the email is valid and owned by the Parent.

**Sub-features:**
- Verification link sent to the email
- Click the link to verify
- Verification expiry
- Resend the verification email
- Account limited until verified
- Verification status shown
- Verification event logging (sent, verified, expired)
- Audit logging of the email verification

**Parent User Journey:**
1. After registration, a verification email is sent to the Parent.
2. Parent clicks the verification link.
3. The email is verified and the account is fully activated.
4. If the link expires, Parent resends the verification email.
5. Until verified, the account has limited functionality.
6. The verification status is shown on the account.
7. Parent opens Profile → "Activity" and confirms the verification events are recorded.

**Rules & Edge Cases:**
- The verification link expires after the platform's window.
- A new verification email can be resent.
- The account is limited until the email is verified.
- Verification events (sent, verified, expired) are logged with the account and the timestamp.
- The email verification is audit-logged with the account and the timestamp.

### 2.3 Parent Onboarding
**What it does:** Guides the new Parent through the platform after registration: a short onboarding flow that explains the Parent panel, prompts to link a child's account, and sets initial preferences. The onboarding helps the Parent get started quickly and understand the key features.

**Sub-features:**
- Onboarding flow after registration
- Overview of the Parent panel
- Prompt to link a child's account
- Set initial preferences
- Skip the onboarding
- Onboarding completed status
- Onboarding event logging (started, completed, skipped)
- Audit logging of the parent onboarding

**Parent User Journey:**
1. After registration, the Parent onboarding flow starts.
2. The Parent panel is explained with key features.
3. Parent is prompted to link a child's account.
4. Parent sets initial preferences.
5. Parent can skip the onboarding.
6. The onboarding completed status is recorded.
7. Parent opens Profile → "Activity" and confirms the onboarding events are recorded.

**Rules & Edge Cases:**
- The onboarding starts after registration.
- The onboarding prompts to link a child's account.
- The onboarding can be skipped.
- Onboarding events (started, completed, skipped) are logged with the account and the timestamp.
- The parent onboarding is audit-logged with the account and the timestamp.
