complete reviews system (phases 4-6)
All checks were successful
deploy / deploy (push) Successful in 1m4s

- review display: photos with lightbox, verified badge, pagination
- admin moderation: pending/approved/rejected tabs, bulk actions, nav badge
- SEO: JSON-LD AggregateRating and Review markup on product pages
- automation: review request emails 7 days after delivery (Oban worker)
- rating cache: avg/count fields on products, updated on approval
- fix file size validation in media test (10MB limit)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-04-01 22:41:27 +01:00
parent 32eb0c6758
commit 6d2d0c9941
26 changed files with 2155 additions and 157 deletions

View File

@@ -30,7 +30,8 @@ Tier 1 MVP complete. Tier 2 production readiness complete (except Litestream and
- Fully Tailwind-free CSS (12 KB gzipped shop+theme, 95 KB gzipped admin total)
- CI pipeline (compile warnings, format, credo, dialyzer, tests)
- Deployed on Fly.io with observability (LiveDashboard, ErrorTracker, structured logging)
- 1800+ tests passing, 99-100 PageSpeed mobile
- Product reviews with verified purchase, photo uploads, admin moderation
- 1851+ tests passing, 99-100 PageSpeed mobile
## Next up
@@ -120,11 +121,11 @@ Close critical gaps identified in the competitive analysis. Phased approach: cor
| 81 | PayPal SDK integration | — | 2h | planned |
| 82 | PayPal checkout flow | 81 | 3h | planned |
| 83 | PayPal webhooks | 82 | 1.5h | planned |
| 84 | Reviews schema | — | 1.5h | planned |
| 85 | Review submission | 84 | 2h | planned |
| 86 | Review moderation | 84 | 1.5h | planned |
| 87 | Reviews display | 84 | 1.5h | planned |
| 88 | Review schema markup | 87 | 1h | planned |
| 84 | Reviews schema | — | 1.5h | done |
| 85 | Review submission | 84 | 2h | done |
| 86 | Review moderation | 84 | 1.5h | done |
| 87 | Reviews display | 84 | 1.5h | done |
| 88 | Review schema markup + rating cache + request emails | 87 | 2h | done |
| 89 | Provider stock sync | — | — | done (already existed) |
| 90 | Availability display | 89 | 1h | done |
@@ -260,3 +261,4 @@ All plans in [docs/plans/](docs/plans/). Completed plans are kept as architectur
| [seo-enhancements.md](docs/plans/seo-enhancements.md) | Planned |
| [competitive-gap-analysis.md](docs/plans/competitive-gap-analysis.md) | Reference |
| [competitive-gaps.md](docs/plans/competitive-gaps.md) | Planned |
| [reviews-system.md](docs/plans/reviews-system.md) | Complete |