-
Notifications
You must be signed in to change notification settings - Fork 133
Program Management
FriendAssKicker edited this page Jun 26, 2026
·
1 revision
The platform supports a multi-tenant structure organized by cohort or program run, called a Batch. Scoping FAQs, community feeds, integrations, and support logs to specific batches allows multiple programs or calendar runs to share a single codebase and database cluster without mixing user data or configurations.
Every batch document (Batch model) defines a specific cohort lifecycle:
-
draft: The program is being configured by admins. It is invisible to the public portal. -
active: The program is live. Students can see it, enroll (if open), and access its resources. -
completed: The program run has concluded. Content is read-only for students. -
archived: Hidden from standard dashboards, preserved for historical reporting and audit.
Admins can define the enrollment behavior per program:
-
Open (
open): Any authenticated student can self-enroll in the batch. -
Invite Only (
invite_only): Self-enrollment is disabled. Students must receive an email invite or admin approval. -
Closed (
closed): Strictly managed. Staff must manually import or link students to the program. -
Enrollment Cap: A maximum student count (
maxEnrollment). The API rejects self-enrollments once the count is reached.
Feature flags (FeatureFlag model) enable or disable specific parts of the user interface (e.g. Community, Support tickets, Zoom recordings, AI summaries) at runtime.
-
Global Flag: A document with
batchId: nullrepresents the system default. -
Program Override: A document referencing a specific
batchIdoverrides the global default for that cohort. - Lookup Resolution: The system checks for a cohort-specific override first, falling back to the global default if none exists.
Example compound index setup:
{ "key": 1, "batchId": 1 } // Enforces uniqueness of a flag key per cohortA program run contains multiple courses (Course model):
-
Cohort Scoping: Courses are associated with a specific
batchId. - Lectures & Material: Tracks lecture schedules, topics, and resource download links.
- Dynamic Content: Connected to the Zoom integration to sync meeting records with the appropriate course structure.
- Registration Configuration: Admins configure custom forms, metadata fields, and email templates per batch.
- Welcome Packages: Custom welcome messages, orientation schedules, and start-up checklists are loaded dynamically when a student enters their active program portal.
-
Audit Logging: Any changes to student enrollment status, program switches, or onboarding steps are logged in
OnboardingAuditLogfor verification.