page:blueprints:restaurants:product catalog:next js

Restaurants: product catalog using Next.js

A product catalog blueprint for restaurants built with Next.js on Ample. Domain schema:

Public information: menu with allergens and prices, locations, hours and reservations contact, catering information. Kept out of scope until handling is reviewed: customer contact and payment details, staff schedules. Allergen information must be kept accurate by the operator; nothing here validates food-safety claims. Technical basis verified on Next.js: an optimistic version check and an event row written in the same transaction, a stale update rejected, and a history query over the application-owned events (history=2 conflict=rejected).

Representative Queries

Workflow Steps

  1. Model the restaurants domain: Create the tables menu_items, stock_movements, orders, order_lines, events. The menu as a sku catalog lives in menu_items; keep the sensitive classes (customer contact and payment details, staff schedules) out of this schema.
  2. Workflow step 1: Model the SKU catalog with versioned updates.
  3. Workflow step 2: Record every catalog change as an event in the same transaction.
  4. Workflow step 3: Reject stale concurrent updates.
  5. Workflow step 4: Deploy and verify history and conflict handling.
  6. Deploy: Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
  7. Verify: Run the pattern self-test(s) from the example (/p/transactional-workflows) and your own acceptance checks for the restaurants workflow.

Cost Estimate

Limitations

Evidence Summary

Next Actions

Technical Basis

Examples