Алексей Макеев.
← ВСЕ РАБОТЫ
05 / 07E-COMMERCENEXT.JS · SUPABASE · STRIPE2025–26

By The Fire — уход с Shopify на свой стек

Бренду свечей ручной работы стало тесно в теме Shopify. На замену — своя витрина и админка на Next.js: оплата через Stripe, свои правила доставки для каждой страны и аккаунт, который заводится сам, — пароль придумывать не надо. Работает на bythefire.shop.

Next.js 14TypeScriptSupabaseStripeCloudflare WorkersResendPostHogTelegram Bot API
Витрина By The Fire: главный блок, хиты и коллекции
ЗАДАЧА

Готовая тема магазина делает обычные вещи простыми, а специфические — невозможными. Этот магазин шлёт заказы с Кипра по всему миру: тариф меняется от континента к континенту, а потом ещё и от страны к стране. Свечи бывают разных размеров и в разных ёмкостях — универсальная модель вариантов описывает это криво. А магазину нужна была админка, которая говорит про свечи, а не про абстрактный каталог.

ПОДХОД

Оформление заказа сначала проверяет запреты по континенту, потом исключения по стране — и только тогда создаёт сессию Stripe: заказ, который всё равно не доедет, просто не принимается. Как только платёж прошёл, вебхук заводит пользователя в Supabase Auth и присылает ссылку для входа — история заказов есть, а пароль придумывать не пришлось. Свойства товаров переехали из произвольного JSON в нормальную модель атрибутов и опций, а картинки отдаёт Cloudflare Worker, стоящий перед хранилищем.

Страница коллекции Floral Candle Garden с реальными товарами
Страница товара — свеча-цветок ручной работы
ПЕРЕЕЗД С SHOPIFY ВМЕСТЕ С ДАННЫМИ
83
SQL-МИГРАЦИЙ
0
ПАРОЛЕЙ: АККАУНТ СОЗДАЁТ ВЕБХУК ПОСЛЕ ОПЛАТЫ