Skip to main content

LMS Module and Lesson Storage

Summary​

Source-backed storage reference for nested course modules and lessons.

Audience​

Engineering, QA, architecture, product, and implementation reviewers.

Reference Content​

Modules and lessons are tenant entities with generated identifiers, timestamps, titles, parent identifiers, and sequence positions. Lessons additionally persist a converted duration and optional content reference.

The model enforces Course-to-Module and Module-to-Lesson relationships with required foreign keys and cascade deletion. Composite indexes support tenant, parent, and sequence access, but sequence uniqueness is not enforced.

The API creates both levels only as part of course creation. There are no independent persistence operations for update, deletion, or reordering. Parent and child tenant values are set by the creation helper; the database foreign keys do not form a composite tenant relationship, so same-tenant parent/child alignment depends on application behavior.

Source References​

  • microservices/src/training-service/Infrastructure/TrainingDbContext.cs
  • microservices/src/training-service/Domain/TrainingEntities.cs
  • microservices/src/training-service/Api/TrainingEndpoints.cs
  • microservices/src/training-service/Infrastructure/Migrations/TrainingDbContextModelSnapshot.cs

See Also​

Keywords​

  • LMS database
  • Training persistence
  • Source-backed model

Revision Information​

  • Status: Draft
  • Last reviewed: 2026-07-17
  • Review cycle: Quarterly