84 lines
2.5 KiB
Markdown
84 lines
2.5 KiB
Markdown
# 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
|
|
- [x] Add backend import endpoint: `POST /api/import/url`
|
|
- [x] Implement Schema.org Recipe JSON-LD parser service
|
|
- [x] Normalize parsed recipe into internal Recipe draft format
|
|
- [x] Add import endpoint tests (valid recipe page, non-recipe page, malformed JSON-LD)
|
|
|
|
### Phase 2: Import UI
|
|
- [x] Add “Import from URL” UI page/form in frontend
|
|
- [x] Show parsed preview (title, ingredients, steps, source URL)
|
|
- [x] Allow edit-before-save flow, then save to existing create recipe API
|
|
- [x] 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._
|