# 2. Study Groups

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

---

## 2. Study Groups

### 2.1 Study Group Creation and Membership
**What it does:** Lets the Student create and join study groups. A group is a small set of students who study together, share resources, and support each other. The Student can create a group with a name and topic, invite classmates, and join groups created by others. Membership is managed by the group owner.

**Sub-features:**
- Create a study group with a name and topic
- Invite classmates to a group
- Join a study group created by another Student
- Group member list
- Group owner manages membership (add, remove)
- Leave a study group
- Group list (owned and joined)
- Group event logging (created, joined, left, member added/removed)
- Audit logging of the study group creation and membership

**Student User Journey:**
1. Student opens "Community" → "Study groups" and taps "Create".
2. Student names the group "Maths Revision Crew" and sets the topic.
3. Student invites two classmates; they receive an invite.
4. A classmate joins the group.
5. The group member list shows all members.
6. Student joins a group created by another Student.
7. Student opens Profile → "Activity" and confirms the group events are recorded.

**Rules & Edge Cases:**
- A group requires a name and a topic.
- Invites are sent to specific classmates.
- The group owner manages membership (add, remove).
- A member can leave a group at any time.
- Group events (created, joined, left, member added/removed) are logged with the group and the timestamp.
- The study group creation and membership is audit-logged with the account, the group, and the timestamp.

### 2.2 Group Collaboration
**What it does:** Supports collaboration within a study group: a shared group feed, sharing resources (notes, flashcards, links), and group announcements. Members can post to the feed, react, and comment. The group is a focused space for collaborative study.

**Sub-features:**
- Shared group feed
- Share resources (notes, flashcards, links) in the group
- Group announcements by the owner
- React to and comment on feed posts
- Group file/resource list
- Collaboration event logging (posted, shared, reacted)
- Audit logging of the group collaboration

**Student User Journey:**
1. Student opens a study group and sees the shared feed.
2. Student shares a set of notes to the group.
3. The group owner posts an announcement ("Mock exam on Saturday").
4. A member reacts to the notes and leaves a comment.
5. The group resource list shows the shared notes and flashcards.
6. Student opens Profile → "Activity" and confirms the collaboration events are recorded.

**Rules & Edge Cases:**
- Only group members can see and post to the group feed.
- Resources shared in the group are visible to members.
- Only the group owner can post announcements.
- Reactions and comments are recorded on the post.
- Collaboration events (posted, shared, reacted) are logged with the group and the timestamp.
- The group collaboration is audit-logged with the account, the group, and the timestamp.

### 2.3 Group Study Sessions
**What it does:** Lets a study group schedule and track group study sessions. The owner schedules a session (topic, time), members get a reminder, and the session is marked attended. Group sessions keep the group accountable and coordinated.

**Sub-features:**
- Schedule a group study session (topic, time)
- Members receive a session reminder
- Mark a session attended
- Session list (upcoming and past)
- Session attendance tracking
- Cancel a scheduled session
- Session event logging (scheduled, attended, cancelled)
- Audit logging of the group study sessions

**Student User Journey:**
1. The group owner schedules a session ("Trigonometry, Saturday 4 pm").
2. Members receive a reminder.
3. Student attends the session and marks it attended.
4. The session list shows upcoming and past sessions.
5. The attendance tracking shows who attended.
6. The owner cancels a session that is no longer needed.
7. Student opens Profile → "Activity" and confirms the session events are recorded.

**Rules & Edge Cases:**
- A session has a topic and a time.
- Members receive a reminder for a scheduled session.
- Attendance is tracked per session.
- A session can be cancelled by the owner.
- Session events (scheduled, attended, cancelled) are logged with the group and the timestamp.
- The group study sessions is audit-logged with the account, the group, and the timestamp.
