Why the model matters
Every feature in StretchCode — the catalog, the lesson player, quizzes, progress tracking, and certificates — is built on one consistent hierarchy. Once you understand how the pieces relate and how status and visibility work, the whole app becomes predictable.
The hierarchy
Course
└─ Module (ordered)
└─ Lesson (ordered)
Course
└─ Quiz (assessment) — course-level, gates completion
Course
└─ Prerequisites — other courses required first- A course is the enrollable unit. Learners enroll in courses, not modules or lessons.
- Modules are ordered sections that group lessons. They exist purely to structure the curriculum.
- Lessons are the actual content. Their order within a module — combined with the module order — defines the linear path a learner follows.
- A quiz attaches at the course level. A course can have a final quiz; passing it is part of completing the course.
- Prerequisites link a course to other courses that should be completed first.
Status: draft, published, archived
Courses, modules, and lessons each carry a status:
- Draft — visible only to you in the builder. Learners never see draft items, even inside a published course. This lets you stage the next module while the rest of the course is live.
- Published — live. A published course appears in the catalog (if its visibility is public) and its published modules and lessons appear to enrolled learners.
- Archived — retired. Archiving hides an item from the catalog and the builder's active list without deleting its data or breaking existing certificates.
Because status is set per item, publishing a course does not automatically publish every lesson inside it. Only published lessons appear to learners. This is intentional: you can publish a course with the first three modules live and keep later modules in draft.
Visibility: public vs internal
Separate from status, each course has a visibility:
- Public — eligible to appear in the searchable catalog, on learning paths, and in the sitemap. A course must be both published and public to show in the catalog.
- Internal — usable within your organization but excluded from the public catalog and sitemap. Use this for training you don't want indexed or listed publicly.
Levels and lesson types
- Course level is one of: beginner, intermediate, advanced, or all levels. Learners can filter the catalog by level.
- Lesson type is one of: lesson, video, exercise, or reading. The type is a label that helps learners know what to expect and lets you mix formats within a module.
Enrollment, progress, and completion
- An enrollment is created when a learner joins a course. It records when they enrolled, their status, and their last-accessed time.
- Lesson progress is tracked per learner per lesson. Marking a lesson complete advances the progress percentage (completed lessons ÷ total published lessons).
- Completion happens when a learner has completed every published lesson and passed every published quiz in the course. The moment both conditions are met, a certificate is issued.
A worked example
Suppose Data Basics has two published modules with five published lessons total and one published final quiz at 70%. A learner completes all five lessons — progress reads 100%, but the course is not yet complete because the quiz is unpassed. They take the quiz, score 80%, and the course flips to complete; certificate SC-1A2B3C4D5E is issued. If you later add a sixth published lesson, learners who hadn't completed will see their percentage drop until they finish it.
Tips
- Use draft lessons inside a published course to release content in waves without republishing.
- Keep a course internal while you pilot it with a small group, then flip it to public when it's ready for the catalog.
- Remember completion requires the quiz to be passed, not just attempted — this is why certificates sometimes wait even when lessons show 100%.
Troubleshooting
A lesson I added isn't showing to learners. Confirm the lesson status is published, not draft. Draft lessons are hidden even inside a published course.
My course isn't in the catalog. The catalog only lists courses that are both published and public. Check both settings.
Was this helpful?
Help us improve this article
Use these controls to share whether this answer solved the issue. Feedback helps prioritize updates to StretchSuite Support.

