Add B&H Photo WebHarbor mirror#38
Conversation
ReviewTested on a fresh worktree of this branch. HF asset ( What works ✓Mechanical
Functional depth
Task quality
Should-fix (non-blocking)1.
Suggest either bumping 2. Benchmark seed users use def set_password(self, password: str) -> None:
self.password_hash = bcrypt.generate_password_hash(password).decode("utf-8")Within a single shipped image this is fine — the seed DB is fixed and reset re-copies it. But re-running Compass (PR #25) handles this by writing PBKDF2 hashes with hand-derived deterministic salts for benchmark users while keeping bcrypt for live registrations. Worth borrowing that pattern so future maintainers can regenerate 3. Visual fidelity — synthetic SVG product images. Author transparently calls this out as a deliberate IP/legal trade-off ("Uses deterministic local SVG product/media assets rather than copied B&H-owned product imagery"). It's a defensible choice but the cards do feel wireframe-y compared to the photographic richness of e.g. Compass (PR #25). Not a bug, just noting that the visual gap with the real bhphotovideo.com is significant. The 167 SVGs are at least style-consistent across the site, which keeps the overall look coherent. 4. Same comment as on PR #9 and #25. The Dockerfile pip-installs explicitly with locked versions (correct per AGENTS.md). 5.
Bottom lineStrongest mechanical hygiene of the five PRs I've reviewed: clean tarball, MD5 matches description, PR is properly rebased onto current main (only one of five), reset hygiene perfect, 8/20 tasks require authenticated multi-step workflows with verified-distinct ground truths. The two real items are the same |
Site
bh_photoImplementation Summary
This PR adds a local B&H Photo mirror built with Flask, SQLAlchemy, Jinja2, and SQLite. The site covers product search, category browsing, rich specs, reviews, Q&A, product comparison, bundles, wishlist, cart, reserve-in-store mock, checkout mock, order history, and account flows.
The mirror uses deterministic local product data and local SVG product/media assets. There are no external runtime calls, no real payment processing, and no live B&H dependencies.
Key User Flows
Seed Row Counts
Benchmark Users
alice.j@test.combob.c@test.comcarol.d@test.comdavid.k@test.comTestPass123!Tasks
WebSyn Port
40015Verification Summary
200POST /reset/bh_photoreturned ready successfullyinstance/bh_photo.dbandinstance_seed/bh_photo.dbmatched after reset and after container restart8ba7a9d1ca30047959cc5ae9da9418f2Screenshot Paths
C:\Users\34475\Desktop\VScode\WebHarborRepo-bh\sites\bh_photo\scraped_data\submission_reviewHF Asset Status
HF asset PR is open and pending merge: https://huggingface.co/datasets/ChilleD/WebHarbor/discussions/28
This GitHub PR is opened for code review first. The local
instance_seedDB and static assets were prepared locally and uploaded through the HF asset workflow.Known Limitations
.assets-revisionupdate still depends on HF asset PR mergeManual Review Notes