Skip to content

Course Outline

Overview

The Course Outline provides a structured, day-by-day and module-by-module breakdown of a course's content.

Data Structure

The course outline is stored as a JSONB column (course_outline) in the perfxcel.courses table. This approach avoids unnecessary relational complexity for document-like data that is always read and written together.

JSONB Shape Example

[
  {
    "day": 1,
    "title": "Foundations of Leadership",
    "modules": [
      {
        "title": "Module 1: Introduction",
        "description": "Overview of core principles.",
        "duration": "2h"
      },
      {
        "title": "Module 2: Self-Assessment",
        "description": "Evaluating personal leadership style.",
        "duration": "1.5h"
      }
    ]
  }
]

Admin Management

Admins can build and modify the outline in the Course Editor:

  • Days: Admins can add, remove, and reorder days using drag-and-drop.
  • Modules: Within each day, admins can add, edit, and remove individual modules.

Public Display

On the public course detail page, the outline is rendered dynamically as an accordion (using <details> and <summary>), separated by days. The outline section is hidden if the course has no outline configured.