# 2. Flashcards

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

---

## 2. Flashcards

### 2.1 Flashcard Creation and Management
**What it does:** Lets the Student create and manage flashcard decks. Decks can be auto-generated from video content or created manually by the Student (front/back text, with optional images). The Student can organize cards into decks by topic, edit, reorder, and delete cards, and track mastery per card.

**Sub-features:**
- Auto-generate a flashcard deck from a video's key concepts
- Create a custom deck with a title and topic
- Add a card (front question, back answer, optional image)
- Edit, reorder, and delete cards within a deck
- Organize decks by subject and topic
- Track mastery per card (learning vs. mastered)
- Deck list with card counts and mastery progress
- Deck event logging (created, card added, edited, deleted)
- Audit logging of the flashcard creation and management

**Student User Journey:**
1. Student finishes a video on Quadratic equations and taps "Generate flashcards".
2. The platform creates a deck of cards from the video's key concepts; Student reviews and edits a couple.
3. Student creates a custom deck "Chemistry — Periodic table" and adds cards (front: element symbol, back: name).
4. Student reorders the cards and deletes one that is incorrect.
5. The deck list shows the deck with its card count and mastery progress.
6. Student opens a deck and studies the cards.
7. Student opens Profile → "Activity" and confirms the deck events are recorded.

**Rules & Edge Cases:**
- A card requires a front (question) and a back (answer); the image is optional.
- Auto-generated decks can be edited; the Student owns the resulting cards.
- Mastery per card is tracked (learning vs. mastered) and updates with study sessions.
- Deleting a card removes it from the deck; deleting a deck removes all its cards.
- Decks are organized by subject and topic.
- Deck events (created, card added, edited, deleted) are logged with the deck and the timestamp.
- The flashcard creation and management is audit-logged with the account, the deck, and the timestamp.

### 2.2 Flashcard Study Session
**What it does:** Runs a flashcard study session where the Student flips through cards and self-rates recall (e.g., Again, Good, Easy). The session uses the ratings to schedule reviews via the Spaced Repetition System and updates card mastery. The Student can study a whole deck or a filtered subset (e.g., only "learning" cards).

**Sub-features:**
- Start a study session on a deck
- Flip a card to reveal the answer
- Self-rate recall: Again, Good, Easy
- Session schedules reviews via the Spaced Repetition System
- Update card mastery based on ratings
- Study a filtered subset (e.g., only "learning" cards)
- Session summary (cards reviewed, correct, time)
- Session event logging (started, ratings, completed)
- Audit logging of the flashcard study session

**Student User Journey:**
1. Student opens a deck and taps "Study".
2. The first card appears (front only); Student thinks of the answer and flips the card.
3. Student rates their recall "Good"; the next card appears.
4. For a card Student forgot, Student rates "Again"; it is scheduled for a sooner review.
5. Student filters to study only "learning" cards.
6. The session ends with a summary (20 cards reviewed, 15 correct, 6 minutes).
7. The cards' mastery and review schedule update.
8. Student opens Profile → "Activity" and confirms the session events are recorded.

**Rules & Edge Cases:**
- A card is rated Again, Good, or Easy; the rating drives the SRS review interval.
- "Again" schedules a sooner review; "Easy" schedules a later one.
- Card mastery updates based on the ratings over time.
- A filtered session studies only the selected subset (e.g., "learning" cards).
- The session summary reports cards reviewed, correct, and time.
- Session events (started, ratings, completed) are logged with the deck and the timestamp.
- The flashcard study session is audit-logged with the account, the deck, and the timestamp.

### 2.3 Flashcard Sharing and Community Library
**What it does:** Lets the Student share their flashcard decks with classmates and browse a public community library of decks created by others. The Student can like and comment on decks, and earn gamification points for creating quality decks. Shared decks are read-only to others unless the owner allows editing.

**Sub-features:**
- Share a deck with classmates (by link or invite)
- Public community library of community-created decks
- Browse and search the community library by subject and topic
- Like and comment on a deck
- Use (copy) a community deck into the Student's own decks
- Shared decks read-only to others unless editing is allowed
- Gamification points for creating quality decks
- Sharing and community event logging (shared, liked, commented, copied)
- Audit logging of the flashcard sharing and community library

**Student User Journey:**
1. Student finishes a high-quality deck and taps "Share"; the platform generates a share link.
2. Student sends the link to a classmate; the classmate opens the deck (read-only).
3. Student opens the community library and searches "Biology — Cells".
4. Student likes a deck and leaves a comment ("Great set of cards!").
5. Student copies a community deck into their own decks and studies it.
6. The Student earns gamification points for the shared deck's quality.
7. Student opens Profile → "Activity" and confirms the sharing events are recorded.

**Rules & Edge Cases:**
- A shared deck is read-only to others unless the owner allows editing.
- The community library is browsable and searchable by subject and topic.
- Copying a community deck creates a private copy the Student can edit.
- Likes and comments are recorded on the deck.
- Quality decks earn gamification points per the platform's rules.
- Sharing and community events (shared, liked, commented, copied) are logged with the deck and the timestamp.
- The flashcard sharing and community library is audit-logged with the account, the deck, and the timestamp.
