# 1. Discussion Forums

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

---

## 1. Discussion Forums

### 1.1 Forum Browsing and Topics
**What it does:** Provides the Student with discussion forums organized by subject and topic. The Student can browse existing discussions, read threads, and see the most active and recent topics. Forums support peer learning and help the Student find answers to common questions.

**Sub-features:**
- Forums organized by subject and topic
- Browse discussions and threads
- Most active and recent topics highlighted
- Search the forums by keyword
- Thread view with replies
- Forum available on web and mobile
- Forum access per the Student's subscription
- Forum event logging (viewed, searched)
- Audit logging of the forum browsing and topics

**Student User Journey:**
1. Student opens "Community" → "Forums" and selects Mathematics.
2. The discussions for the topic are listed, with the most active highlighted.
3. Student searches for "quadratic formula" and finds a thread.
4. Student opens the thread and reads the replies.
5. Student browses the recent topics.
6. Student views the forum on the mobile app.
7. Student opens Profile → "Activity" and confirms the forum events are recorded.

**Rules & Edge Cases:**
- Forums are organized by subject and topic.
- The most active and recent topics are highlighted.
- Search matches thread titles and reply text.
- Forum access is per the Student's subscription.
- Forum events (viewed, searched) are logged with the forum and the timestamp.
- The forum browsing and topics is audit-logged with the account, the forum, and the timestamp.

### 1.2 Posting and Replying
**What it does:** Lets the Student start new discussion threads and reply to existing ones. The Student can ask questions, share explanations, and help peers. Posts are moderated per the platform's community guidelines, and the Student can edit or delete their own posts.

**Sub-features:**
- Start a new discussion thread
- Reply to an existing thread
- Ask a question in a thread
- Share an explanation or answer
- Edit and delete the Student's own posts
- Posts moderated per community guidelines
- Post notifications (replies to the Student's thread)
- Post event logging (posted, replied, edited, deleted)
- Audit logging of the posting and replying

**Student User Journey:**
1. Student opens a topic and taps "New thread" to ask a question.
2. Student writes the question and posts it.
3. A classmate replies; the Student is notified.
4. Student replies to the classmate's answer.
5. Student edits their original post to clarify.
6. Student deletes a post that is no longer relevant.
7. Student opens Profile → "Activity" and confirms the post events are recorded.

**Rules & Edge Cases:**
- A thread requires a title and a body.
- The Student can edit and delete their own posts.
- Posts are moderated per the community guidelines.
- A reply notifies the thread's author.
- Post events (posted, replied, edited, deleted) are logged with the thread and the timestamp.
- The posting and replying is audit-logged with the account, the thread, and the timestamp.

### 1.3 Thread Following and Notifications
**What it does:** Lets the Student follow threads and topics to stay updated. The Student receives notifications for new replies in followed threads and can mark threads as read. Following helps the Student track ongoing discussions that matter to them.

**Sub-features:**
- Follow a thread or topic
- Notification for new replies in followed threads
- Mark a thread as read
- List of followed threads and topics
- Unfollow a thread or topic
- Follow count shown
- Follow event logging (followed, unfollowed)
- Audit logging of the thread following and notifications

**Student User Journey:**
1. Student opens a useful thread and taps "Follow".
2. The thread appears in the Student's followed list.
3. A new reply is posted; the Student is notified.
4. Student reads the reply and marks the thread as read.
5. Student unfollows a thread that is no longer relevant.
6. The follow count is shown.
7. Student opens Profile → "Activity" and confirms the follow events are recorded.

**Rules & Edge Cases:**
- Following a thread subscribes the Student to its replies.
- A notification is sent for new replies in followed threads.
- A thread can be marked as read.
- Unfollowing stops the notifications for that thread.
- Follow events (followed, unfollowed) are logged with the thread and the timestamp.
- The thread following and notifications is audit-logged with the account, the thread, and the timestamp.
