Skip to content

Add Cookpad WebHarbor mirror#52

Open
Lxr-max wants to merge 1 commit into
aiming-lab:mainfrom
Lxr-max:add-cookpad-site
Open

Add Cookpad WebHarbor mirror#52
Lxr-max wants to merge 1 commit into
aiming-lab:mainfrom
Lxr-max:add-cookpad-site

Conversation

@Lxr-max

@Lxr-max Lxr-max commented Jun 5, 2026

Copy link
Copy Markdown

Summary

Implementation Summary

  • Added a new sites/cookpad/ Flask + SQLAlchemy + SQLite mirror with deterministic local demo data.
  • Implemented Cookpad-style recipe search, category browsing, author pages, saved recipes, meal plans, shopping lists, and help center flows.
  • Registered Cookpad in websyn_start.sh, control_server.py, Dockerfile, and README startup docs.
  • Preserved HF-managed asset boundaries: instance_seed/, static/images/, and static/external_cache/ remain out of git.

Seed Row Counts

  • users: 4 benchmark users
  • categories: 24
  • recipes: 180
  • reviews: 120
  • recipe_box_items: 60
  • meal_plan_items: 29
  • shopping_lists: 4

Benchmark Users

Task Count and Categories

  • Task count: 19
  • Categories covered:
    • recipe search by keyword
    • category browsing
    • cuisine and ingredient filters
    • recipe detail steps
    • author page lookup
    • saved recipes
    • meal plan
    • shopping list
    • help/search
    • recipe comparison

Key Routes

  • /
  • /home
  • /categories
  • /recipes
  • /category/<slug>
  • /recipe/<slug>
  • /authors/<slug>
  • /favorites
  • /meal-plan
  • /shopping-list
  • /help
  • /help/<slug>
  • /login
  • /register

Verification Commands and Results

  • py -3 -m py_compile sites\cookpad\app.py
  • py -3 -m py_compile sites\cookpad\seed_data.py
  • py -3 -m py_compile sites\cookpad\_health.py
  • JSONL task schema check for sites/cookpad/tasks.jsonl ✅ (19 tasks)
  • Local Flask smoke for public routes ✅
  • Local Flask authenticated smoke for login, saved recipes, meal plan, shopping list, and JSON actions ✅

Docker Result

  • Built successfully with docker build -t webharbor:cookpad-pr .
  • Verified with container webharbor-cookpad-submit
  • Host port mapping used for validation:
    • control: 8501 -> 8101
    • sites: 45000-45015 -> 40000-40015

Runtime Smoke Result

  • Control health: ✅ 16/16 sites ready
  • Host HTTP routes all returned 200:
    • /
    • /home
    • /categories
    • /recipes
    • /category/japanese
    • /search?q=tofu
    • /recipe/butter-chicken
    • /help
    • /help/meal-plan-basics
    • /authors/mika-tanaka
    • /login
  • Authenticated HTTP smoke passed for:
    • login/logout
    • account
    • saved recipes
    • meal plan
    • shopping list
    • help
    • author page
    • keyword search
    • recipe-box toggle API
    • meal-plan add API
    • shopping-list create

Reset + MD5 Result

  • POST /reset/cookpad ✅ returned {site:cookpad,ready:true,...}
  • MD5 matched after reset:
    • 003eb29f62af2c15c03f09d31dafbe9b
  • Container restart check also passed; homepage stayed 200 and MD5 still matched.

Screenshot Paths

  • Review folder prepared at:
    • C:\Users\34475\Desktop\VScode\WebHarborRepo-cookpad\sites\cookpad\scraped_data\submission_review
  • Headless Edge screenshot capture was attempted but no files were produced because the local Edge GPU/headless process crashed in this environment.

Known Limitations

  • Visual assets are deterministic local placeholders rather than official Cookpad media.
  • No real user submissions, no live recipe scraping, no grocery ordering, and no external runtime APIs.
  • .assets-revision was intentionally not modified; it should only be updated after the HF asset side is merged.
  • Screenshot capture is currently blocked by the local browser environment, although functional smoke coverage passed.

HF Asset Status

Manual Review Notes

  • This is a new website contribution, not a tooling PR.
  • Runtime DB files and screenshot caches were kept out of the commit.
  • The site is deterministic and benchmark-friendly after reset.

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.

1 participant