Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

DTC: adopt repository-derived course hierarchy and homework units

Đang mở
#436 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
markdown, python, yaml
Lĩnh vực
backend, databases, web-dev

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ả

enhancement

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

  1. 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.yaml directories define modules and their parentage.
  2. Use homework.yaml plus companion homework.md for 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.
  3. 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.
  4. 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.
  5. 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.json passing.

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

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của DataTalksClub/website

Tất cả issue của DataTalksClub/website

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.