📖 Learning Modules Journey
This journey documents how learners navigate and complete e-learning modules, including videos, articles, podcasts, and exercises.
Interactive Flow Diagram
Click any step to see detailed information, connected features, and API endpoints.
📖Learner Journey
Learning Modules Journey
How learners navigate and complete e-learning modules including videos, articles, podcasts, and exercises.
🧭Navigate
Access ProgramLearner
View Program NavigationLearner
⚡
Select ModuleLearner
View Module PageLearner
⚡
Select E-Learning TabLearner
Select SkillLearner
⚡
📚Learn
View Skill PageLearner
Select ChapterLearner
Consume Chapter ContentLearner
⚡
Access Document ChapterLearner
View DocumentLearner
Download DocumentLearner
✅Complete
Mark Chapter CompleteLearner
🔌
Progress UpdatedSystem
⚡
Continue or CompleteLearner
Legend:
User Action
Decision Point
System Action
Notification
Milestone
Journey Summary
| Attribute | Value |
|---|---|
| Actors | Learner, System |
| Entry Point | Program navigation or E-Learning menu |
| Exit Point | Module/Skill completion |
| Typical Duration | Varies by content |
| Steps | 13 |
Content Hierarchy
Program
└── Module (e.g., "Communication Skills")
├── Coaching Sessions (optional)
└── E-Learning Skills
└── Skill (e.g., "Active Listening")
└── Chapters
├── Chapter 1: Video
├── Chapter 2: Text Article
├── Chapter 3: PDF Document
└── Chapter 4: Podcast
Phase Breakdown
Phase 1: Navigate
Finding your learning content:
- Access program via dashboard or menu
- View module list with progress indicators
- Select module to see contents
- Switch to E-Learning tab
- Select skill to view chapters
Phase 2: Learn
Consuming content:
- View skill page with chapter list
- Select chapter to view
- Consume content based on type
Phase 3: Complete
Finishing and tracking:
- Mark chapter complete (auto or manual)
- Progress updates across UI
- Navigate to next or return
Content Types
Supported Formats
| Type | Component | Auto-Complete |
|---|---|---|
| Text | Markdown renderer | On view |
| Video | <Video> (YouTube, Vimeo) | On watch % |
ContentPdf | On open | |
| PPTX | ContentPptx | On view |
| Podcast | AudioPlayer | On listen |
| Document | Document viewer/downloader | On view/download |
Video Player
Embeds YouTube/Vimeo videos with:
- Progress tracking
- Full-screen support
- Responsive sizing
PDF Viewer
In-browser PDF viewing with:
- Page navigation
- Zoom controls
- Download option
Podcast Player
Audio player with:
- Play/pause controls
- Progress bar
- Listen completion tracking
Document Viewer
Document access with:
- In-browser PDF viewing
- Page navigation
- Zoom controls
- Download option
- Offline access capability
Documents include:
- Training materials
- Worksheets and templates
- Reference guides
- Resource files
Key Frontend Pages
| Route | Component | Purpose |
|---|---|---|
/programs/[programId]/modules/[moduleId] | ModuleView | Module overview with tabs |
/programs/[programId]/modules/[moduleId]/skills/[skillId] | SkillView | Skill with chapter list |
/programs/[programId]/modules/[moduleId]/skills/[skillId]/chapters/[chapterId] | ChapterContent | Individual chapter content |
/programs/[programId]/modules/[moduleId]/skills/[skillId]/podcast | PodcastPage | Podcast player page |
Progress Tracking
How Progress is Logged
// When user completes a chapter
await logElearningReading({
userId: user.id,
chapterId: chapter.id,
skillId: skill.id,
moduleId: module.id,
programId: program.id,
completedAt: new Date().toISOString()
});
Progress Calculation
// Skill progress
const skillProgress = completedChapters / totalChapters * 100;
// Module progress
const moduleProgress = completedSkills / totalSkills * 100;
// Program progress
const programProgress = completedModules / totalModules * 100;
AI-Tailored Descriptions
Chapters may display personalized "tailored descriptions" based on:
- User's role and goals
- Previous session content
- Coach's recommendations
This is fetched via:
const tailoredDescription = await queryTailoredDescription({
chapterId,
userId,
context: { goals, previousLearning }
});
Key Integration Points
Internal APIs
GET /skills/:id- Fetch skill with chaptersPOST /growth-actions- Log chapter completionGET /user-program-progress/:userId- Get progress data
Frontend Hooks
useProgram()- Current program datauseGetModuleSkillById()- Skill detailsuseUserProgramProgress()- Progress trackingusePodcastProgress()- Podcast completion
Related Documentation
- Progress & Feedback Journey - Tracking overall progress
- Learner Hub - Overview of all journeys
- API Reference - Backend endpoints