berrypod/lib/simpleshop_theme
jamey 1aceaf9444 add Printful mockup generator and post-sync angle enrichment
New PrintfulGenerator module creates demo products in Printful with
multi-variant support (multiple colours/sizes per product type).
Mix task gets --provider flag to choose between Printify and Printful.

After syncing Printful products, MockupEnricher Oban worker calls the
legacy mockup generator API to produce extra angle images (back, left,
right) and appends them as product images. Jobs are staggered 45s apart
with snooze-based 429 handling. Flat products (canvas, poster) get no
extras — apparel and 3D products get 1-5 extra angles each.

Also fixes:
- cross-provider slug uniqueness (appends -2, -3 suffix)
- category mapping order (Accessories before Canvas Prints)
- image dedup by URL instead of colour (fixes canvas variants)
- artwork URL stored in provider_data for enricher access

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:52:53 +00:00
..
accounts mix phx.gen.auth Accounts User users 2025-12-30 12:26:46 +00:00
clients add Printful mockup generator and post-sync angle enrichment 2026-02-15 16:52:53 +00:00
images add Docker deployment with Alpine image, release config and health check 2026-02-08 16:21:05 +00:00
media chore: apply mix format to codebase 2026-01-31 14:24:58 +00:00
mockups add Printful mockup generator and post-sync angle enrichment 2026-02-15 16:52:53 +00:00
orders add shipping costs with live exchange rates and country detection 2026-02-14 10:48:00 +00:00
products wire shop LiveViews to DB queries and improve search UX 2026-02-13 08:27:26 +00:00
providers add Printful mockup generator and post-sync angle enrichment 2026-02-15 16:52:53 +00:00
settings feat: add encrypted settings, guided Stripe setup, and admin credentials page 2026-02-07 17:12:53 +00:00
shipping add shipping costs with live exchange rates and country detection 2026-02-14 10:48:00 +00:00
stripe refactor: consolidate settings lookups and secrets loading 2026-02-08 14:42:13 +00:00
sync add Printful mockup generator and post-sync angle enrichment 2026-02-15 16:52:53 +00:00
theme add denormalized product fields and use Product structs throughout 2026-02-13 01:26:39 +00:00
webhooks feat: add Printify webhook endpoint for real-time product updates 2026-01-31 22:41:15 +00:00
accounts.ex add setup foundations: site gate, registration lockdown, coming soon page 2026-02-11 22:58:58 +00:00
application.ex fix production deployment: CSS, images and theme seeding 2026-02-08 23:42:56 +00:00
cart.ex wire shop LiveViews to DB queries and improve search UX 2026-02-13 08:27:26 +00:00
cldr.ex feat: add Products context with provider integration (Phase 1) 2026-01-29 20:32:20 +00:00
exchange_rate.ex add shipping costs with live exchange rates and country detection 2026-02-14 10:48:00 +00:00
mailer.ex mix phx.new simpleshop_theme --database sqlite3 --adapter bandit --binary-id 2025-12-30 12:26:26 +00:00
media.ex chore: apply mix format to codebase 2026-01-31 14:24:58 +00:00
orders.ex add Printful provider integration with HTTP client and order routing 2026-02-15 09:01:05 +00:00
products.ex add Printful mockup generator and post-sync angle enrichment 2026-02-15 16:52:53 +00:00
providers.ex feat: add admin provider setup UI with improved product sync 2026-01-31 22:08:34 +00:00
release.ex fix production deployment: CSS, images and theme seeding 2026-02-08 23:42:56 +00:00
repo.ex mix phx.new simpleshop_theme --database sqlite3 --adapter bandit --binary-id 2025-12-30 12:26:26 +00:00
search.ex add LIKE substring fallback to search and update plan statuses 2026-02-13 09:09:10 +00:00
secrets.ex refactor: consolidate settings lookups and secrets loading 2026-02-08 14:42:13 +00:00
settings.ex add setup foundations: site gate, registration lockdown, coming soon page 2026-02-11 22:58:58 +00:00
setup.ex add setup foundations: site gate, registration lockdown, coming soon page 2026-02-11 22:58:58 +00:00
shipping.ex add shipping costs with live exchange rates and country detection 2026-02-14 10:48:00 +00:00
vault.ex feat: add Products context with provider integration (Phase 1) 2026-01-29 20:32:20 +00:00
webhooks.ex add Printful webhook endpoint with token verification 2026-02-15 09:32:14 +00:00