Classroom Groups
Groups are cross-section buckets inside a classroom — think project teams, clubs, study circles, or lab partners. Unlike sections (which are a hard split of the class roster), a student can belong to multiple groups, and a group can pull members from any section.
Who Can Use It
- Teachers / admins create groups, add or remove members, and use group filters elsewhere in Testify.
- Students see the groups they belong to inside the classroom.
How It Works
Groups live under Classroom → Groups. The tab lists every group in the class as a color-coded card with a member count. Clicking a card slides open a detail drawer where you can see members, add students, or remove them.
Creating a Group
- Open Classroom and select a class.
- Click the Groups tab.
- Click + New group.
- Provide:
- Name — unique within the class.
- Description (optional) — what the group is for.
- Color — pick one of seven presets for visual recognition.
- Click Create.
Adding Members
- Open a group card to show the detail drawer.
- Click Add members.
- Tick the students you want to add (list is scoped to the class roster and excludes existing members).
- Click Add N students.
Groups draw from the whole class, so students in different sections can sit in the same group.
Removing Members
Click the trash icon next to a member in the group detail drawer. Removal is immediate — the user account and class enrollment are untouched.
Deleting a Group
Hover a group card and click the trash icon. Deletion cascades to group membership but does not affect students, sections, or the parent class.
Data Model
Groups are stored in two tables (migration 026_classroom_groups.sql):
| Table | Purpose |
|---|---|
class_groups | One row per group: name, description, color, owning class and org |
class_group_members | Membership join table: group ↔ user, timestamps |
Names are unique per class (UNIQUE(class_id, name)) and memberships are unique per group (UNIQUE(group_id, user_id)).
Using Groups Elsewhere
Once groups exist, they become a filter/target in several places:
- Announcements — target an announcement at a group instead of the whole class.
- Attendance — take or review attendance for a group.
- Gradebook — filter grades by group to review how a study circle is performing.
- Assignments (coming soon) — assign exams or papers to a group.
Tips
- Pick distinctive colors — the dot next to the group name is the fastest way for teachers to scan.
- Use short names ("Lab A", "Olympiad") — long names truncate in cards.
- Groups are a lightweight grouping mechanism; for permanent roster splits, keep using Sections.
Related Features
- Classroom Management — classes, sections, rosters, bulk import.
- Announcements — target announcements at a group.