berrypod/lib/simpleshop_theme
jamey 5c2f70ce44 add shipping costs with live exchange rates and country detection
Shipping rates fetched from Printify during product sync, converted to
GBP at sync time using frankfurter.app ECB exchange rates with 5%
buffer. Cached in shipping_rates table per blueprint/provider/country.

Cart page shows shipping estimate with country selector (detected from
Accept-Language header, persisted in cookie). Stripe Checkout includes
shipping_options for UK domestic and international delivery. Order
shipping_cost extracted from Stripe on payment.

ScheduledSyncWorker runs every 6 hours via Oban cron to keep rates
and exchange rates fresh. REST_OF_THE_WORLD fallback covers unlisted
countries. 780 tests, 0 failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 10:48:00 +00:00
..
accounts mix phx.gen.auth Accounts User users 2025-12-30 12:26:46 +00:00
clients add CI pipeline with credo and dialyzer 2026-02-08 15:19:42 +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 CI pipeline with credo and dialyzer 2026-02-08 15:19:42 +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 shipping costs with live exchange rates and country detection 2026-02-14 10:48:00 +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 shipping costs with live exchange rates and country detection 2026-02-14 10:48:00 +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 admin dashboard with setup checklist and stats 2026-02-12 14:17:38 +00:00
products.ex add denormalized product fields and use Product structs throughout 2026-02-13 01:26:39 +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 feat: add transactional emails for order confirmation and shipping 2026-02-08 10:17:19 +00:00