DataTalksClub / DataTalksClub/relay

R6.2 History import

Open
#26 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
0
Avg merge
16m
Merged PRs (30d)
5

Description

Plan issue R6.2, phase 6 of the community-base unification plan.

Spec: docs/plan/phase-6.md, section R6.2, in DataTalksClub/community-base. Status is tracked in docs/plan/STATUS.md there, which stays the source of truth.

Depends on: R6.1. Do not start until every one of them is done in STATUS.md.

Process

This repository's AGENTS.md and docs/PROCESS.md govern this work. The plan says what to build and how to verify it; the repository process says how work is done here.

Spec

Repository: DataTalksClub/relay. Depends on: R6.1.

Read first

  • ~/git/ai-shipping-labs/email_app/models/ (EmailLog, SesEvent, EmailCampaign,
    CampaignDelivery), email_app/services/email_log_history.py.

Steps

  1. POST /api/import/messages (batch, idempotent on client_reference) creating historical
    transactional_messages rows with original timestamps, status, template key, recipient;
    POST /api/import/events for bounce, complaint, open and click events;
    POST /api/import/campaigns for campaigns and their recipient rows.
  2. Contact history must show imported rows in order with the rest.
  3. Management command import_history --from-json <file> for operators.

Verification

  • Import a 10,000-row synthetic fixture twice -> second run creates zero rows; contact history
    for one address shows the imported messages.

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

First confirm R6.1 is marked done in docs/plan/STATUS.md, then read docs/plan/phase-6.md, AGENTS.md, and docs/PROCESS.md. Inspect the models in ~/git/ai-shipping-labs/email_app/models/ and email_app/services/email_log_history.py, then trace the import endpoints and management-command entry point. Done means both imports are idempotent, campaign and event data is present, and contact history shows imported messages after the 10,000-row fixture is run twice.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend, cli, databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.