DTC: adopt repository-derived course hierarchy and homework units
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 0
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của DataTalksClub/website
-
bug infra operations P1 testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
DataTalksClub/website#329 ·
-
bug content data-migration documentation events operations P1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
DataTalksClub/website#327 ·
-
bug frontend P0 testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
DataTalksClub/website#300 · 7 bình luận ·
-
bug data-migration events P0 testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
DataTalksClub/website#295 · 6 bình luận ·
-
courses enhancement P1
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 46/100
DataTalksClub/website#439 · 3 bình luận ·
Tất cả issue của DataTalksClub/website
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
PedestrianDynamics/pyFDS-Evac#343 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
theskumar/python-dotenv#708 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Docs Timedelta
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
pandas-dev/pandas#69919 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
API documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
zephyrproject-rtos/west#1009 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 3 ngày