v2 Gap Analysis — Content

Content — V2 Review Gap Analysis

Source: BACKEND-RAMBLINGS.md lines 166-186 Spec: docs/admin-spec/05-content.md Implementation: src/pages/content/

Screens covered

Stakeholder does not mention Tutorials, MCQ Questions, Quizzes — these remain per spec and are not analyzed here.


Cross-cutting: Master list + semester copy pattern

Stakeholder's intent (lines 166, 170, 176)

Stakeholder repeatedly asks for:

  1. Master/global list: "I need a master list that I can just upload once and then have that be our source"
  2. Semester-specific copy: "a separate semester copy that can be tweaked for that semester only"
  3. Applied to: Video Lessons, Assignments, Resources

Spec support

NOT mentioned or defined. Spec (05-content.md) describes 6 existing screens relocated from Program with Setup Checklist integration. No mention of:

Spec only says: "All 6 screens already exist and their core CRUD behavior is unchanged" (line 27). Semester pre-filtering on content screens exists, but no master/copy architecture.

Implementation support

ZERO implementation. Current architecture:

This is a major architectural gap. The stakeholder's most-repeated pattern has no spec or implementation foundation.


Video Lessons

Matches

Expands

Deviates

Adds

Ambiguous


Assignments

Status: NOT IMPLEMENTED

Stakeholder describes (lines 170-173) detailed requirements:

Spec mentions: Zero. Assignments are not in the Content domain (05-content.md). They moved to Student Management (per 01-global-patterns.md context in the spec).

Implementation: No assignments.tsx page exists in /src/pages/content/. Submissions are under Student Management (submissions.tsx). No assignment authoring UI.

Gap: This is a major missing feature from stakeholder's Content narrative. Either:

  1. Assignments stay in Student Management (spec decision), or
  2. They should be added to Content domain (stakeholder expectation mismatch)

Resources

Matches

Expands

Deviates

Adds

Ambiguous


Recordings

Matches

Expands

Deviates

Adds

Ambiguous


Summary

Net-new screens/sections

Biggest deviations

  1. Master + semester copy pattern absent: Stakeholder's most-repeated architectural request (Video Lessons, Assignments, Resources all need "master + copy") has zero spec/implementation support. This is a fundamental design mismatch.
  2. Video Lessons multi-video input: Dialog shows videoCount but no UI for individual video URLs/titles/ordering.
  3. Resources multi-level support: Current model assigns one resource to one level. Stakeholder wants one resource visible to multiple levels/courses.
  4. Resources file type diversity: Stakeholder wants PDFs, links, videos. Dialog only supports generic file upload.
  5. Recordings Zoom integration + auto-tag: Stakeholder wants auto-upload from Zoom + auto-tag by level/gender. Current UI is manual entry only.
  6. Recordings missing metadata: "Lesson class vs QRC" type and time-of-day not captured.

Architectural change (master+copy pattern)

Critical blocker if stakeholder's intent is to reduce duplication. If a Video Lesson is created once globally and then customized per semester, the current flat model (lessonsnew with semesterId + level_tag_id per spec) requires:

Top ambiguities

  1. Assignments location: Spec moved them to Student Management. Stakeholder described them under Content. Which is correct?
  2. Zoom auto-upload scope: Is this a backend service integration, or does the admin UI need a sync button?
  3. Resource link/video handling: How are "helpful videos" and "websites" added as resources — as file uploads, as URL inputs, as embedded players?
  4. Multi-level resource visibility: Is the filter UI sufficient (show/hide per level), or does content need to be explicitly tagged with multiple levels at creation?
  5. Master list ownership/scope: Is the master list organization-wide, or per semester-type? Can it span multiple semesters, or only one?