Journey Overview
Preconditions
- Member is enrolled in the course
- Course has completion requirements defined
- Member has not already completed the course
Journey Flow
Detailed Steps
1
Access Course
Member opens course from:
- My Courses dashboard
- “Continue Learning” widget
- Course catalog (if enrolled)
- Email reminder link
- Left sidebar: Curriculum navigation
- Main area: Lesson content
- Top bar: Progress indicator
- Right sidebar: Notes, bookmarks
2
Navigate Curriculum
Course structure:Legend:
- ✅ Completed
- ⏳ In Progress
- 🔒 Locked (complete prerequisites)
- ⚪ Available
3
Complete Lessons
Different content types:
- Video Lessons
- Text/Article
- Interactive
- Downloadable
- Video player with progress tracking
- Auto-mark complete when watched
- Configurable: Must watch X% to complete
- Playback speed options
- Closed captions (if available)
4
Take Quizzes/Assessments
Quiz experience:Quiz Types:
- Module quizzes (per section)
- Practice quizzes (optional)
- Final exam (if required)
- Multiple choice
- Multiple select
- True/False
- Short answer
- Matching
- Time limit (or untimed)
- Passing score (e.g., 70%)
- Retry attempts (limited or unlimited)
- Show correct answers (configurable)
5
Track Progress
Progress tracking:
6
Meet Completion Requirements
Requirements vary by course:
7
Course Completed
When all requirements met:Immediate:
- Completion status updated
- Completion date recorded
- Progress set to 100%
- Celebration animation 🎉
- PDF certificate created
- Member name
- Course name
- Completion date
- CPD points (if applicable)
- Unique certificate ID
- QR code for verification
8
CPD Points Awarded
If course has CPD points:
- CPD record created automatically
- Points added to member’s total
- Category assigned (course’s CPD category)
- Linked to certificate
- Email: Course completed + certificate attached
- In-app: CPD points awarded notification
Certificate
Certificate Contents
Certificate Access
- Download from course completion page
- Available in My Certificates section
- Accessible from CPD records
- Shareable link (public verification)
Retaking Courses
If course allows retakes:- Reset progress option
- Previous completion preserved in records
- New certificate issued on re-completion
- CPD points: Configurable (once or each time)
Related Entities
Related Journeys
Acceptance Criteria
Frontend
- Course player with lesson navigation
- Progress bar and completion percentage
- Video player with progress tracking
- Quiz interface with all question types
- Progress auto-save
- Completion celebration UI
- Certificate download button
- Share certificate functionality
Backend
-
GET /api/courses/{id}/progress- Get progress -
POST /api/courses/{id}/lessons/{id}/complete- Mark complete -
POST /api/courses/{id}/quizzes/{id}/submit- Submit quiz -
GET /api/courses/{id}/certificate- Generate certificate - CPD auto-award on completion
Permissions
- Only enrolled members can access course content
- Certificate only available after completion
Business Rules
- All requirements must be met for completion
- Quiz passing score enforced
- Completion date = when final requirement met
- CPD points awarded once per completion
Error Handling
- Progress save failures handled gracefully
- Quiz timeout handling
- Certificate generation error recovery