Skip to main content

Overview

The platform organizes learning content in a clear hierarchy. Each level serves a specific purpose:
Collection (Catalog Organization)
 └── Program (Multi-bundle Learning Path)
      └── Bundle (Discounted Course Package)
           └── Course (Core Learning Unit)
                └── Module (Section/Chapter)
                     └── Lesson (Individual Content)
                          └── Quiz (Assessment)

Hierarchy Levels

LevelPurposeExample
CollectionCatalog organization & marketing”Homeopathy Diploma Series”
ProgramComplete multi-bundle learning path”Advanced Diploma in Homeopathy”
BundleDiscounted package of courses”Materia Medica Essentials Pack”
CourseCore learning unit with curriculum”Introduction to Materia Medica”
ModuleSection/chapter within a course”Week 1: Fundamentals”
LessonIndividual content piece”Video: What is Materia Medica?”
QuizAssessment at course or module level”Module 1 Assessment”

How Enrollment Works

Students always enroll at the course level, regardless of what they purchase:
  1. Buy a Course → Direct enrollment in that course
  2. Buy a Bundle → System expands via bundle_items → enrolls in each course
  3. Buy a Program → System expands via program_bundles → then each bundle → enrolls in every course
This means a student’s dashboard always shows individual course progress, even if they purchased a program or bundle.

Key Relationships

  • Collections → Programs: Programs have a collection_id field
  • Programs → Bundles: Linked via program_bundles junction table
  • Bundles → Courses: Linked via bundle_items junction table
  • Courses → Modules: Modules have a course_id field
  • Modules → Lessons: Lessons have a module_id field
  • Quizzes: Can attach to either a course (course_id) or module (module_id)