DataTalksClub / DataTalksClub/website

D2.1 Mount the Studio shell and re-home DTC Studio pages

Open
#377 28 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Plan issue D2.1 (community-base plan phase 2, docs/plan/phase-2.md). Depends on C2.4 (package release v0.3.0, done).

Goal: mount community_base.studio as the Studio shell and move the DTC Studio pages under it.

Scope:

  • Install community_base.studio (v0.3.0 is already pinned; no package change needed).
  • Delete templates/studio/base.html; DTC Studio templates extend community_base/studio/base.html.
  • Keep DTC's authorize_studio_request roles by implementing the kernel hook STUDIO_AUTHORIZER (default: is_staff).
  • Register sections: Site (settings, navigation, sponsors), Access (API keys from the package, credentials until management_api migrates), Audit, Events (identities, historical totals, Q&A), Courses (all studio_courses pages).
  • Remove the Studio adapter half of management_registry.py; management_api keeps its routes until its endpoints are re-declared through community_base.api in later phases.
  • Exempt Studio routes from the public-page inline-stylesheet test; keep the test for public pages.

Non-goals:

  • No management_api endpoint changes.
  • No public-page shell changes.

Verification:

  • uv run python manage.py studio_routes --check -> OK.
  • uv run pytest studio studio_courses -q -> pass.
  • Accessibility Playwright markers for Studio pass.

Read first: templates/studio/base.html, studio/views.py, studio/urls.py, studio_courses/, management_registry.py, accounts/studio_authorization.py, accounts/studio_roles.py.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read templates/studio/base.html, studio/views.py, studio/urls.py, studio_courses/, management_registry.py, accounts/studio_authorization.py, and accounts/studio_roles.py to map the current shell, routes, sections, and authorization hook. Verify with uv run python manage.py studio_routes --check, uv run pytest studio studio_courses -q, and the Studio accessibility Playwright markers; done means the Studio shell and listed sections work without changing public pages or management_api endpoints.

Written by the indexing model from the issue text.

Assessment

Tech stack
playwright, python
Domain
accessibility, authentication, backend, frontend, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.