Skip to content

docs: define recipe creation target architecture#1094

Merged
dgee2 merged 4 commits into
mainfrom
dgee2/recipe-architecture
May 27, 2026
Merged

docs: define recipe creation target architecture#1094
dgee2 merged 4 commits into
mainfrom
dgee2/recipe-architecture

Conversation

@dgee2

@dgee2 dgee2 commented May 27, 2026

Copy link
Copy Markdown
Owner

Why

The Menu app can currently create only a minimal recipe with a name and ingredient links, which is not enough for real recipe authoring, search, sharing, or public display. This spec documents a target architecture so future implementation work can extend the existing stack coherently across the frontend, API, and database.

Summary

This PR adds a detailed architecture spec for recipe creation and lifecycle management in docs/specs/recipe-creation-target-architecture.md.

It covers:

  • the current state of recipe support in the frontend, API, and database
  • the target data model for recipes, ingredients, steps, ownership, sharing, publication, and search
  • naming decisions for the new domain concepts
  • SQL Server full-text search as the initial search architecture for recipe name, ingredients, and recipe content
  • the frontend, API, and database changes needed to support the target model
  • display-oriented fields needed for authenticated and curated public recipe pages

Key decisions

  • Keep the recipe write model relational in SQL Server rather than moving to a JSON-first design.
  • Introduce MenuUser and make recipe ownership explicit.
  • Replace global recipe-name uniqueness with owner-scoped uniqueness.
  • Treat recipe ingredients as recipe-owned content with authored text as the source of truth, while allowing optional canonical links.
  • Model sharing, authenticated visibility, and public publication as separate concerns.
  • Add a denormalized RecipeSearchIndex and use SQL Server full-text search first instead of introducing an external search service.
  • Keep public recipe routes separate from authenticated API routes.

Notes for reviewers

  • This is a docs-only change; it defines target architecture and does not implement the feature yet.
  • The spec includes mermaid diagrams and records the main tradeoffs that shaped the target design, including publication lifecycle, slug behavior, user provisioning, and search consistency expectations.
  • The document was refined to stay aligned with the current Menu codebase rather than inventing a parallel model.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 27, 2026 20:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a draft architecture spec for evolving recipe creation from the current minimal model into a full aggregate with ownership, sharing, publication, search, and richer display data. The document inventories the current frontend/API/database state, proposes a target domain model with new entities (MenuUser, RecipeStep, RecipeShare, RecipePublication, RecipeSearchIndex), and outlines the changes required across each layer. It is docs-only and does not change any code.

Changes:

  • New target architecture spec covering data model, search via SQL Server full-text, and access/publication model.
  • Documents required frontend, API, and database changes plus naming decisions and rejected alternatives.
  • Includes mermaid ERD and flow diagrams to illustrate the proposed structure.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/specs/recipe-creation-target-architecture.md Outdated
Comment thread docs/specs/recipe-creation-target-architecture.md Outdated
Comment thread docs/specs/recipe-creation-target-architecture.md Outdated
Comment thread docs/specs/recipe-creation-target-architecture.md
Comment thread docs/specs/recipe-creation-target-architecture.md
Comment thread docs/specs/recipe-creation-target-architecture.md
Comment thread docs/specs/recipe-creation-target-architecture.md
Comment thread docs/specs/recipe-creation-target-architecture.md
Comment thread docs/specs/recipe-creation-target-architecture.md
Comment thread docs/specs/recipe-creation-target-architecture.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Comment thread docs/specs/recipe-creation-target-architecture.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 27, 2026 22:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@dgee2 dgee2 enabled auto-merge (squash) May 27, 2026 22:59
@sonarqubecloud

Copy link
Copy Markdown

@dgee2 dgee2 merged commit 004b1e3 into main May 27, 2026
13 checks passed
@dgee2 dgee2 deleted the dgee2/recipe-architecture branch May 27, 2026 23:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants