DataTalksClub / DataTalksClub/website
D1.2a Install the mail app, move PendingUnsubscribe, commit the purpose templates
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 afteremail_app(package callback ingress goes live; recipient links stay withemail_appuntil D1.2c), studio include under/studio/mail/,MAIL_TEMPLATE_DIRpointing atemail_templates/. - P6: copy
email_app.PendingUnsubscribeintocb_mail.PendingUnsubscribewith 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'simport_mail_templatesstep. - 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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