# TODO — Recipe Manager **Last Updated:** 2026-03-23 **Current Milestone:** MVP (v0.1) --- ## 🎯 Active Tasks ### Backend Setup - [x] Initialize Node.js backend: Create src/backend/, package.json with express, better-sqlite3, zod, vitest. Create src/backend/index.ts with "Hello World" server on port 3000. Verify: npm install && npm run dev (server starts). Commit as "feat(backend): initialize Node.js project with Express" - [x] Set up TypeScript: Create tsconfig.json (strict mode, ES2022, Node16 module resolution). Add build script to package.json. Verify: npm run build succeeds. Commit. - [x] Create SQLite schema: Create src/backend/db/schema.sql with recipes, tags, recipe_tags tables per ARCHITECTURE.md. Create src/backend/db/migrate.ts to apply schema using sql.js (see ADR-001). Verify: npm run migrate creates data/recipes.db. Commit. - [ ] Implement recipe CRUD API endpoints - [ ] Add Zod validation schemas - [ ] Write API integration tests ### Frontend Setup - [ ] Initialize React + Vite project - [ ] Configure Tailwind CSS - [ ] Set up React Router - [ ] Create recipe list page - [ ] Create recipe detail/edit page - [ ] Implement cook mode UI ### Features - [ ] Tag management (create, assign, filter) - [ ] Text search (title + ingredients) - [ ] Screen wake lock for cook mode - [ ] Basic error handling + loading states ### DevOps - [ ] Create Dockerfile for backend - [ ] Create Dockerfile for frontend (nginx) - [ ] Write docker-compose.yml - [ ] Test local deployment ### Documentation - [ ] Write API documentation (docs/api.md) - [ ] Create user guide (docs/user-guide.md) - [ ] Add setup instructions to README - [ ] Document first architecture decisions (ADRs) --- ## ✅ Completed Tasks _(none yet)_ --- ## 📋 Backlog (Post-MVP) ### v1.0 - [ ] Browser extension for recipe scraping - [ ] Recipe scaling (adjust servings) - [ ] Print styles - [ ] Advanced search filters - [ ] Random recipe suggestion ### v2.0 - [ ] AI ingredient substitutions - [ ] Meal planning - [ ] Shopping list generation - [ ] Fintrove cost tracking integration --- ## 🚧 Blocked / Needs Decision - **Recipe images:** Store in filesystem or SQLite? (Waiting for agent decision) - **Scraping strategy:** Puppeteer vs Cheerio? (v1.0 decision) --- ## Notes for Agents - Check this file before starting work - Move completed tasks to "Completed" section - Add new tasks as you discover them - Flag blockers for Paul's attention - Keep this file current (update after each commit) --- _This is your working task list. Keep it honest and up-to-date._