Shared Django apps intended for two DataTalks.Club community sites:
- DataTalks.Club website (
DataTalksClub/website) - AI Shipping Labs website (
AI-Shipping-Labs/website)
Both sites run independently, with their own database, deployment, user model, public design and
site-specific apps. They install this package and mount the apps they need. Email, contacts,
campaigns, background jobs and schedules are delegated to Relay (DataTalksClub/relay), a separate
service that each site talks to over HTTPS.
Status: Phase 0 in progress. The package skeleton and first shared primitives are being built;
the plan in docs/plan/ moves code out of the two sites phase by phase.
- Agents: read
AGENTS.md(entry point), then followdocs/PROCESS.mdfor each issue. - Progress across all four repositories:
docs/plan/STATUS.md.python scripts/plan.py nextprints what can start now;python scripts/plan.py summaryprints totals. - Work in the site repositories follows their own process (
AGENTS.mdand_docs/PROCESS.mdinAI-Shipping-Labs/websiteandDataTalksClub/website,docs/PROCESS.mdinDataTalksClub/relay). This plan says what to build and how to verify it; the site process says how work is done there.
| Document | What it is for |
|---|---|
AGENTS.md |
Entry point for agents: reading order, how to pick and do an issue, tracking rules, site-process rule. |
docs/PROCESS.md |
The per-issue workflow with a check at every step. |
docs/plan/STATUS.md |
Progress tracker for every issue in every repository. Generated by scripts/plan.py. |
docs/00-analysis.md |
Inventory of the two sites and Relay, overlap map, coupling audit. Read once. |
docs/01-decisions.md |
Product and architecture decisions already taken by the owner. Do not re-open them. |
docs/02-architecture.md |
Target architecture, package layout, app labels, extension seams, template contract. |
docs/03-playbooks.md |
Step-by-step procedures reused by many issues: lifting an app, squashing migrations, cutting a seam, releasing, freeze weekend. |
docs/04-quality-gates.md |
The checks every issue must pass, the issue template, and when to stop and ask a human. |
docs/plan/README.md |
Phase index and dependency order. |
docs/plan/phase-*.md |
One file per phase with every issue spelled out: goal, what to read, steps, verification, done criteria. |
- Read
docs/04-quality-gates.mdfirst. Every issue indocs/plan/assumes those gates. - Pick the lowest-numbered open issue in the current phase whose dependencies are done.
- Follow the issue steps literally. Run every verification command and compare with the expected result. If a check fails, fix it before moving on. Never skip a check.
- Open one pull request per issue, in the repository the issue names (
community-base,DataTalksClub/website,AI-Shipping-Labs/website, orDataTalksClub/relay), following that repository's process. - Update
docs/plan/STATUS.mdwhen you start and when you finish.
- Python is managed with
uv. Never callpipdirectly. - Documents use plain text, headings, tables and backticks. No bold formatting.
- File paths, commands, setting keys and model names are written in backticks.
- Site repositories keep their own process documents; this repository's per-issue process is
docs/PROCESS.mdand its gates aredocs/04-quality-gates.md.