DTC: adopt repository-derived course hierarchy and homework units
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Start with community-base#306 and the existing #398/#399 work, then inspect _docs/compatibility/course-route-contracts.json and the current course, cohort, homework, and route entry points. Validate flat and nested fixtures, YAML-plus-Markdown homework re-imports, preserved identities and learner state, compatibility routes, and report package, AISL, and DTC test results separately.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Goal
Adopt the generic course repository hierarchy and YAML-backed homework contract from community-base#306 in DataTalks.Club. The site's code should adapt its existing course/cohort records and policies to the shared graph, not re-parse or flatten curriculum structure locally.
Scope
- Register the community-base course parser/projection for DTC course sources. Where existing DTC sources express child sections inside manifest lists, convert them to the package's physical directory convention as part of source migration;
module.yamldirectories define modules and their parentage. - Use
homework.yamlplus companionhomework.mdfor a structured homework unit where the course tree authors it. Keep stable unit/question IDs in YAML and instructions prose in Markdown. Keep cohort-specific assignment manifests and bindings separate; adapt those to package coursework bindings without confusing them with the course-tree unit manifest. - Remove duplicate local module/submodule parsing and hierarchy projection once the package contract covers it. Re-scope open #398/#399 to retain only genuinely DTC-owned cohort placement/binding behavior; do not maintain a second generic directory parser or a second renderer for the same hierarchy.
- Keep DTC-owned course access, cohort flow, registration and URL compatibility through thin adapters. Resolve project-to-module references from source identity/path, not course slug or module title conditionals.
- Preserve existing Course/Module/Unit/Shared* identities and all homework, project, review, submission, answer, progress and certificate rows through the package cutover. Update existing rows in place by stable content identity and provide one-hop redirects for route changes. Keep
_docs/compatibility/course-route-contracts.jsonpassing.
Acceptance criteria
- A flat course and a nested course fixture import according to the physical repository tree; one-unit modules remain modules and are not flattened by a site rule.
- A YAML homework directory with its Markdown companion imports as one unit; stable IDs, cohort binding, submissions and learner state survive re-import without duplicate rows.
- DTC-only cohort flow and homework binding semantics still work through a thin adapter; malformed hierarchy fails validation before a DB constraint error.
- The generic parser/renderer and shared templates come from community-base. DTC templates contain no course-specific hierarchy flattening, title/slug/path exceptions, or duplicate recursive parser.
- Existing public and compatibility route contracts pass; any changed canonical paths have one-hop redirects preserving valid cohort selection.
- Package checks plus the affected DTC tests pass; run and report the package, AISL, and DTC results separately before closing.
Dependencies and related work
- Depends on DataTalksClub/community-base#306.
- Blocks DataTalksClub/website#414 (D5.1 shared course-model adoption) and #415 (D5.2 cutover).
- Coordinate the existing submodule work in #398/#399 with this package contract before either duplicates generic parser/rendering logic.
- Lingua principale
- Python
- Stelle
- 0
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di DataTalksClub/website
-
bug infra operations P1 testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
DataTalksClub/website#329 ·
-
bug content data-migration documentation events operations P1
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
DataTalksClub/website#327 ·
-
bug frontend P0 testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
DataTalksClub/website#300 · 7 commenti ·
-
bug data-migration events P0 testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
DataTalksClub/website#295 · 6 commenti ·
-
courses enhancement P1
Difficoltà 4/5 3-5 giorni Idoneità per principianti 46/100
DataTalksClub/website#439 · 3 commenti ·
Tutte le issue di DataTalksClub/website
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
https://search.utilibre.orgApertainstance instance add
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
searxng/searx-instances#941 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
FluidNumerics/fluid-walk-blocker#89 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno