DataTalksClub / DataTalksClub/website

D1.2a Install the mail app, move PendingUnsubscribe, commit the purpose templates

Open
#367 0 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

Split out of the combined D1.2 mail-adoption issue (community-base plan phase 1).

Scope:

  • P2: install community_base.mail (v0.3.0) - URL include at the site root after email_app (package callback ingress goes live; recipient links stay with email_app until D1.2c), studio include under /studio/mail/, MAIL_TEMPLATE_DIR pointing at email_templates/.
  • P6: copy email_app.PendingUnsubscribe into cb_mail.PendingUnsubscribe with a copy_forward/copy_backward data migration (batch 1000, donor model kept).
  • Commit the five DTC purpose templates in email_templates/ (deadline reminder, course registration confirmation, enrollment confirmation, certificate ready, Slack access) as the source of truth mirrored into Relay by the deploy's import_mail_templates step.
  • Relay import + publish version 1: not run here; needs a permitted development Relay with the R1.5 tag (deploy step and template tests land first).

Verification: manage.py check, makemigrations --check, fresh-database migrations, template render tests per purpose, mirror-command tests against FakeRelay. Development-copy row counts deferred until a development copy exists locally.

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

Start by locating the existing email_app.PendingUnsubscribe model, the community_base.mail integration points, and the email_templates/ directory. Run the listed manage.py checks and inspect the existing migration, template-render, and FakeRelay test patterns before implementing the split. Done means the checks, fresh-database migrations, purpose template tests, and mirror-command tests pass; Relay publishing remains out of scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, database, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.