Package com.ericbouchut.learndev.course
package com.ericbouchut.learndev.course
-
ClassDescriptionWeb endpoints of the student course experience: the published course catalogue, the course detail page, and the enroll/drop actions.Read side of the course catalogue, applying the student visibility rule: a student sees
PUBLISHEDcourses; a student who is enrolled keeps read access to the course and its published lessons if the course is laterARCHIVED(content continuity);DRAFTcontent is never visible to students.Web endpoint of the student dashboard: the logged-in user's active courses with their enrollment status.Student-side enrollment lifecycle (see the diagram in CONTRIBUTING.md).Web endpoints of the instructor authoring area under/instructor/**(gated toROLE_INSTRUCTORby the security rules): the instructor's course list, the course create/edit forms, and the publication lifecycle actions.Write side of the course domain for instructors: authoring and the publication lifecycle ofCONTRIBUTING.md(publish from DRAFT, archive from DRAFT or PUBLISHED, restore an ARCHIVED item to DRAFT).Converts lesson Markdown to HTML that is safe to serve.Sanitized lesson HTML plus its table of contents (ADR-0018).One TOC entry: minted anchor id, heading text, rendered level.