recipe-manager/TODO.md

2.5 KiB

TODO — Recipe Manager

Last Updated: 2026-03-25
Current Milestone: v1.0 — Recipe Import


MVP (v0.1) Status

MVP is functionally complete (core app + docs + tests).

Completed

  • Backend API (recipes + tags)
  • Frontend UI (list/detail/form/cook mode)
  • Search + tag management + error handling
  • Dockerfiles + docker-compose
  • API docs + user guide + README setup
  • ADR-001 (sql.js decision)

Deferred / Manual Host Validation

  • Manual Docker host test (docker compose up) on host machine with Docker installed

🎯 Active Tasks — v1.0 Recipe Import

Phase 1: URL Import Foundation

  • Add backend import endpoint: POST /api/import/url
  • Implement Schema.org Recipe JSON-LD parser service
  • Normalize parsed recipe into internal Recipe draft format
  • Add import endpoint tests (valid recipe page, non-recipe page, malformed JSON-LD)

Phase 2: Import UI

  • Add “Import from URL” UI page/form in frontend
  • Show parsed preview (title, ingredients, steps, source URL)
  • Allow edit-before-save flow, then save to existing create recipe API
  • Add frontend error states (invalid URL, parse failure, timeout)

Phase 3: Fallback Parsing + Hardening

  • Add heuristic fallback parser when Schema.org missing
  • Add timeout/retry + user-friendly import failure messages
  • Add logging/telemetry for import success/failure reasons

Phase 4: Browser Extension (after URL import stable)

  • Scaffold browser extension project (Manifest v3)
  • Add “Send to Recipe Manager” action to call import API
  • Add extension settings for Recipe Manager base URL

📋 Backlog (Post-v1)

v1.1

  • Recipe scaling (adjust servings)
  • Print styles
  • Advanced search filters
  • Random recipe suggestion

v2.0 (AI Features)

  • AI ingredient substitutions
  • Meal planning
  • Shopping list generation
  • Fintrove cost tracking integration

🚧 Blocked / Needs Decision

  • CopyMeThat export path: confirm whether Anne/Elizabeth can export directly, or we rely on URL import + browser extension.
  • Tag filtering in recipe list: currently UI-only, backend filter by tag_id pending.

Notes for Agents

  • Work from top to bottom in the Active Tasks — v1.0 section.
  • Pick the first unchecked task only.
  • One task = one commit.
  • If blocked: mark task with reason and continue next unblocked task only with explicit note.

This is the authoritative task queue for harness iterations.