# 2. Student Registration & Onboarding

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

---

## 2. Student Registration & Onboarding

### 2.1 Student Registration
**What it does:** The self-service flow by which a new Student creates a platform account. The Student chooses to sign up as a Student, provides basic contact information, accepts the platform's terms and privacy policy, and (if under 18) provides a parent's email for consent. On successful submission the account is created in a pending-verification state and a verification email is sent.

**Sub-features:**
- "Sign Up as Student" entry point on the registration page
- Basic information capture: full name, email, phone, password, confirm password
- Password strength validation (length, character mix) with inline feedback
- Terms & Conditions acceptance (mandatory checkbox)
- Privacy Policy acceptance (mandatory checkbox)
- Optional parent email capture for minors (under 18)
- Duplicate detection: block registration if the email is already registered, with a "log in" or "forgot password" path
- Account creation in pending-verification state on successful submission
- Verification email dispatch with a single-use link
- Registration attempt logging (success, duplicate, validation failure)
- Audit logging of the student registration

**Student User Journey:**
1. Student opens the registration page and clicks "Sign Up as Student".
2. Student enters their full name, email, phone number, and creates a password; the password field shows a strength meter and inline hints (e.g., "add a number").
3. Student ticks the "I accept the Terms & Conditions" and "I accept the Privacy Policy" checkboxes (both mandatory).
4. Because Student is under 18, the form shows an optional "Parent email" field; Student enters their parent's email for consent.
5. Student clicks "Create account". The system validates all fields; on success the account is created in pending-verification state and a verification email is sent.
6. The screen shows "Check your inbox — we sent a verification link to your email" with a "Resend" option and a link back to login.
7. If the email were already registered, the screen would instead show "An account with this email already exists" with "Log in" and "Forgot password?" links, and no duplicate account is created.
8. Student opens the profile menu → "Account activity" and confirms the registration event is recorded with timestamp and outcome.

**Rules & Edge Cases:**
- Both the Terms & Conditions and Privacy Policy checkboxes are mandatory; the account cannot be created without them.
- The email must be unique; a duplicate registration is blocked and routed to the login/reset path.
- The password must meet the strength policy; weak passwords are rejected with specific, actionable hints.
- For minors, the parent email is captured for consent but does not block registration if left blank (the platform's child-safety policy governs follow-up).
- The verification link is single-use and time-limited; an expired link produces a "link expired — request a new one" message.
- Registration attempts (success, duplicate, validation failure) are logged with timestamp, IP, and outcome.
- The student registration is audit-logged with the account, the outcome, and the timestamp.

### 2.2 Email Verification
**What it does:** Confirms that the email address used at registration is valid and controlled by the Student. The Student clicks the single-use link in the verification email (or enters a code) to activate the account. Until verified, the account has limited access and is prompted to verify on every login.

**Sub-features:**
- Verification email with a single-use, time-limited link
- Verification code entry as an alternative to the link
- Account activation on successful verification
- "Verify now" prompt shown on login for unverified accounts
- Resend verification with rate limiting
- Expired-link handling with a reissue option
- Re-verification when the email address is changed later
- Verification status visibility in the profile
- Verification event logging (sent, clicked, verified, expired, resent)
- Audit logging of the email verification

**Student User Journey:**
1. After registration, Student receives the verification email and clicks the link.
2. The link opens the platform and shows "Your email has been verified — your account is now active" with a "Go to my dashboard" button.
3. Student clicks "Go to my dashboard" and is taken to the Student Dashboard with full access.
4. If Student had not verified, logging in would show a banner "Verify your email to unlock full access" with a "Resend verification" button.
5. Student clicks "Resend verification" (after the cooldown) and receives a fresh email with a new link.
6. If the original link had expired, clicking it would show "This link has expired" with a "Request a new link" button.
7. Later, if Student changes their email address in Profile, the new address requires re-verification before it becomes active.
8. Student opens the profile menu → "Account activity" and confirms the verification events (sent, verified) are recorded with timestamps.

**Rules & Edge Cases:**
- The verification link is single-use and time-limited; reusing or expiring it produces a reissue path, not a silent failure.
- Resends are rate-limited to prevent email abuse.
- An unverified account has limited access and is prompted to verify on every login.
- Changing the email address triggers re-verification of the new address; the old address remains active until the new one is verified.
- Verification events (sent, clicked, verified, expired, resent) are logged with timestamp and channel.
- The email verification is audit-logged with the account, the outcome, and the timestamp.

### 2.3 Onboarding Flow (Profile Setup)
**What it does:** Guides a newly verified Student through a structured profile setup so the platform can personalize their learning experience. The flow captures basic information (date of birth, grade, education board, school, location), learning preferences (subjects needing help, learning style, study time, daily study time), and goals & motivation (academic goals, target scores, important exam dates). The completed profile drives recommendations, the Smart Study Planner, and the AI Study Companion.

**Sub-features:**
- Step 1 — Basic information: date of birth, grade/level, education board, school name (optional), city, province
- Step 2 — Learning preferences: subjects needing most help (multi-select), preferred learning style (visual, auditory, kinesthetic, mixed), study time preference (morning, afternoon, evening, late night), daily study time available (slider)
- Step 3 — Goals & motivation: academic goals (multi-select), target grade/score per subject, important exam dates
- Progress indicator across the three steps with the ability to go back and edit
- Skip option for optional fields (required fields must be completed)
- Profile completion status shown until the flow is finished
- Personalized recommendations generated from the completed profile
- Onboarding completion event logging
- Audit logging of the onboarding flow

**Student User Journey:**
1. After email verification, Student is taken to the onboarding flow, which shows a three-step progress indicator.
2. Step 1: Student enters date of birth, grade (Grade 10), education board (CAPS), school name (optional), city, and province, then clicks "Next".
3. Step 2: Student selects the subjects needing most help (Mathematics, Physical Sciences), chooses a learning style (Mixed), picks a study time preference (Evening), and sets the daily study time slider to 2 hours, then clicks "Next".
4. Step 3: Student selects academic goals (Improve grades, Prepare for final exams), enters target scores per subject (Mathematics 75%, Physical Sciences 70%), and adds important exam dates (Mid-year Exams 15 June, Final Exams 20 November), then clicks "Finish".
5. The flow completes; the profile completion banner disappears and the Student Dashboard now shows personalized recommendations based on the profile.
6. Student can return to Profile → "Learning preferences" at any time to edit any step; changes are saved and recommendations update.
7. Student opens the profile menu → "Account activity" and confirms the onboarding completion is recorded with the timestamp.

**Rules & Edge Cases:**
- Required fields (grade, education board, at least one subject, learning style) must be completed; optional fields (school name) can be skipped.
- The flow can be paused and resumed; progress is saved between steps.
- Target scores and exam dates are validated (e.g., score within 0–100, exam date in the future).
- Changing the grade or education board after onboarding may require re-selecting subjects that are not available in the new context.
- The completed profile drives recommendations, the Smart Study Planner, and the AI Study Companion; an incomplete profile limits personalization.
- Onboarding completion (and each step save) is logged with timestamp and the fields changed.
- The onboarding flow is audit-logged with the account, the completion state, and the timestamp.

### 2.4 Free Trial Activation
**What it does:** Lets a new Student start a 7-day full-access trial without providing payment information. On activation the account is upgraded to trial status, full content access is unlocked for the trial period, and a welcome email with tips is sent. At the end of the trial the account reverts to a limited state until a paid subscription is chosen.

**Sub-features:**
- "Start Free Trial" entry point (registration and course browsing)
- 7-day full-access trial period with no credit card required
- Trial activation: account upgraded to trial status, full content access unlocked
- Trial countdown shown on the dashboard (days remaining)
- Welcome email with getting-started tips on activation
- Trial expiry: account reverts to a limited state with a prompt to choose a plan
- Trial extension policy (e.g., one extension, support-assisted)
- Trial status visibility (active, days remaining, expired)
- Trial event logging (activated, extended, expired)
- Audit logging of the free trial activation

**Student User Journey:**
1. Student, while browsing courses without registration, clicks "Start Free Trial" and sees "7 days full access, no credit card required".
2. Student completes registration and email verification, then clicks "Activate free trial" on the dashboard.
3. The account is upgraded to trial status; the dashboard now shows "7 Days Free Trial Remaining" and full content access is unlocked.
4. Student receives the welcome email with getting-started tips.
5. Each day, the dashboard countdown decreases (6 days, 5 days, …).
6. On the last day, the dashboard shows a prominent "Your trial ends tomorrow — choose a plan to keep learning" banner with plan options.
7. If Student does not choose a plan, at trial expiry the account reverts to a limited state and the dashboard prompts "Choose a plan to continue" with the available options.
8. Student opens the profile menu → "Account activity" and confirms the trial activation and expiry events are recorded with timestamps.

**Rules & Edge Cases:**
- The trial requires no payment information; a card is only requested when converting to a paid plan.
- The trial is 7 days of full access; the countdown is shown on the dashboard.
- At expiry, the account reverts to a limited state (not deleted); the Student's progress and profile are preserved.
- Trial extension is policy-governed (e.g., one extension, support-assisted) and is logged.
- A Student cannot start a second trial on the same account after one has been used.
- Trial events (activated, extended, expired) are logged with timestamp and the resulting status.
- The free trial activation is audit-logged with the account, the status change, and the timestamp.
