By The Fire — уход с Shopify на свой стек
Бренду свечей ручной работы стало тесно в теме Shopify. На замену — своя витрина и админка на Next.js: оплата через Stripe, свои правила доставки для каждой страны и аккаунт, который заводится сам, — пароль придумывать не надо. Работает на bythefire.shop.
Готовая тема магазина делает обычные вещи простыми, а специфические — невозможными. Этот магазин шлёт заказы с Кипра по всему миру: тариф меняется от континента к континенту, а потом ещё и от страны к стране. Свечи бывают разных размеров и в разных ёмкостях — универсальная модель вариантов описывает это криво. А магазину нужна была админка, которая говорит про свечи, а не про абстрактный каталог.
Оформление заказа сначала проверяет запреты по континенту, потом исключения по стране — и только тогда создаёт сессию Stripe: заказ, который всё равно не доедет, просто не принимается. Как только платёж прошёл, вебхук заводит пользователя в Supabase Auth и присылает ссылку для входа — история заказов есть, а пароль придумывать не пришлось. Свойства товаров переехали из произвольного JSON в нормальную модель атрибутов и опций, а картинки отдаёт Cloudflare Worker, стоящий перед хранилищем.