# 2. Video Tutorial Player

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

---

## 2. Video Tutorial Player

### 2.1 Video Playback Controls
**What it does:** Plays the Student's video tutorials with full playback controls. The player supports play/pause, seek, playback speed, volume, fullscreen, and subtitle selection. Playback position is saved so the Student can resume where they left off, and completion is tracked per video.

**Sub-features:**
- Play/pause control
- Seek bar with current time and total duration
- Playback speed selection (0.5x, 1x, 1.5x, 2x)
- Volume control and mute
- Fullscreen toggle
- Subtitle selection (multiple languages where available)
- HD quality with adaptive streaming
- Playback position saved for resume
- Video completion tracking (marks the video done)
- Playback event logging (start, pause, complete, speed change)
- Audit logging of the video playback

**Student User Journey:**
1. Student opens a lesson and the video tutorial begins loading in the player.
2. Student presses play; the video streams in HD with adaptive quality.
3. Student drags the seek bar to skip ahead, then changes the playback speed to 1.5x.
4. Student enables subtitles (English) and toggles fullscreen.
5. Student pauses the video; the position is saved.
6. Student closes the lesson and returns later; the video resumes at the saved position.
7. Student watches to the end; the video is marked complete and the lesson progress updates.
8. Student opens Profile → "Activity" and confirms the playback events are recorded.

**Rules & Edge Cases:**
- The playback position is saved per video; resume returns to the saved position.
- Playback speed is one of the offered options; the choice is remembered per Student.
- Subtitles are available only where provided for the video.
- A video is marked complete when watched to the end (or past a completion threshold).
- Adaptive streaming adjusts quality to the connection; HD is the target quality.
- Playback events (start, pause, complete, speed change) are logged with the video and the timestamp.
- The video playback is audit-logged with the account, the video, and the timestamp.

### 2.2 Video Progress and Completion Tracking
**What it does:** Tracks the Student's progress through each video and the overall course. Completion of a video updates the lesson and course progress, feeds the "Continue learning" section, and contributes to the progress and analytics modules. The Student can see which videos are done, in progress, or not started.

**Sub-features:**
- Per-video status: not started, in progress, complete
- Course progress percentage computed from completed videos
- "Continue learning" shows the next incomplete video
- Progress visible on the course page and dashboard
- Completion feeds the analytics and progress modules
- Re-watch a completed video without losing completion status
- Progress sync across web and mobile
- Progress event logging
- Audit logging of the video progress tracking

**Student User Journey:**
1. Student opens a course and sees the video list with statuses (3 complete, 1 in progress, 6 not started).
2. The course progress bar shows 40% complete.
3. Student opens the "in progress" video and finishes it; its status changes to "Complete" and the course progress updates to 45%.
4. The dashboard's "Continue learning" now points to the next incomplete video.
5. Student re-watches a completed video for revision; its status stays "Complete".
6. Student switches from web to mobile; the progress is the same on both.
7. Student opens Profile → "Activity" and confirms the progress events are recorded.

**Rules & Edge Cases:**
- A video's status is one of: not started, in progress, complete.
- Course progress is the percentage of required videos completed.
- Re-watching a completed video does not revert its status.
- Progress is synchronized across web and mobile for the same account.
- Completion feeds the analytics and progress modules.
- Progress events are logged with the video, the status change, and the timestamp.
- The video progress tracking is audit-logged with the account, the video, and the timestamp.

### 2.3 Video Notes and Bookmarks
**What it does:** Lets the Student add bookmarks at specific timestamps in a video and attach notes to them. Bookmarks and notes help the Student revisit key moments and are visible on the video and in the course. They are private to the Student.

**Sub-features:**
- Add a bookmark at the current timestamp
- Attach a note to a bookmark
- View the list of bookmarks for a video
- Jump to a bookmark from the list
- Edit or remove a bookmark and its note
- Bookmarks visible on the video timeline
- Bookmarks private to the Student
- Bookmark event logging
- Audit logging of the video notes and bookmarks

**Student User Journey:**
1. Student is watching a video and, at a key moment, clicks "Add bookmark".
2. A note field appears; Student types "Key formula for quadratic equations" and saves.
3. The bookmark appears on the video timeline and in the video's bookmark list.
4. Student clicks the bookmark in the list; the video jumps to that timestamp.
5. Student edits the note to add an example, then saves.
6. Student removes a bookmark that is no longer needed.
7. Student opens another video and confirms its bookmark list is separate.
8. Student opens Profile → "Activity" and confirms the bookmark events are recorded.

**Rules & Edge Cases:**
- A bookmark is tied to a specific video and timestamp.
- A note is optional; a bookmark can exist without a note.
- Bookmarks and notes are private to the Student; they are not shared.
- Removing a bookmark also removes its note.
- Bookmarks do not affect video completion status.
- Bookmark events (add, edit, remove) are logged with the video, the timestamp, and the event time.
- The video notes and bookmarks is audit-logged with the account, the video, and the timestamp.
