🎬 Simulate:
Complete Instructor Profile
Fill in your details before accessing the instructor dashboard
Basic Information
S
JPG, PNG, or GIF · max 5 MB
+856
Laos (+856) · enter local digits only (8–10 digits)
Professional Information
One-line summary shown on your public profile.
Social Links (all optional)
Screen Flow (from flow.puml):
📝 Spec notes — UC-IDP.03 / SCR-IDP.41 (fields, actions, requirements)
Identity
- Screen: SCR-IDP.41 — Complete Instructor Profile
- Use case: UC-IDP.03 — Activate Staff Account (main flow steps 7–8, role = Instructor; also reached from AF-3A step 4 via Google SSO path)
Brief description
First-time profile completion for Instructors — shown immediately after account creation (UC-IDP.03 steps 7–8), before accessing the Dashboard. The instructor fills in three sections: Basic Information (name, photo, affiliation, public email, mobile), Professional Information (headline, bio), and Social Links (all optional). First name, last name, and email are pre-filled from the invitation record and editable.
Fields
firstname"First name" — text · required · User.firstname · pre-filled from param.invitation_firstname · max 100 chars · editablelastname"Last name" — text · required · User.lastname · pre-filled from param.invitation_lastname · max 100 chars · editablephoto"Profile photo" — file · optional · InstructorProfile.photo · jpg/png/gif only, max 5 MBaffiliation"Affiliation / Institution" — text · optional · InstructorProfile.affiliation · max 200 charsemail"Public email" — text · required · InstructorProfile.email · pre-filled from param.invitation_email · format: email · max 255 chars · editable (may differ from login email)country_code— text · optional · read-only · default "+856" · rendered as input-group-text prefix, not a standalone inputmobile"Mobile number" — phone · optional · InstructorProfile.mobile · regex: ^[0-9]{8,10}$ · user enters local digits only; country code fixed at +856headline"Headline (brief self-introduction)" — text · optional · InstructorProfile.headline · max 200 charsbio"Bio" — text_editor (prototype: text_editor) · optional · InstructorProfile.bio · max 2000 charswebsite_url"Website" — text · optional · InstructorProfile.website_url · format: urllinkedin_url"LinkedIn" — text · optional · InstructorProfile.linkedin_url · format: urltwitter_url"Twitter / X" — text · optional · InstructorProfile.twitter_url · format: urlfacebook_url"Facebook" — text · optional · InstructorProfile.facebook_url · format: url
Actions
save_and_continue"Save and Get Started" — enabled when required_fields_valid · triggers UC-IDP.03-M-9 (save InstructorProfile → navigate to Instructor Dashboard)
Additional requirements
- Profile photo must be jpg, png, or gif only and must not exceed 5 MB. If the file is invalid, show an inline error message below the field.
- First name and last name are pre-filled from UserInvitation and editable, to handle cases where the invitation name is incorrect.
- Public email is pre-filled from UserInvitation.email and editable — the user may set a different public-facing email address from the login email. Must pass format validation before form submission.
- Mobile number displays country code "+856" (Laos) as a fixed input-group prefix. User enters local digits only (8–10 digits); no option to change country code. Matches the pattern used in SCR-IDP.01 (Mobile OTP) and SCR-IDP.43.