Лев Алексеев

Как я сделал интернет-магазин uaartist: от нуля до приёма оплаты

Лев Алексеев · обновлено 30 августа 2026

uaartist — интернет-магазин аксессуаров ручной работы на Django + DRF (бэкенд) и Next.js + TypeScript (фронтенд). Построен с нуля за июль 2026 года: от пустого репозитория до задеплоенного магазина с рабочим приёмом оплаты — за первую неделю.

О текущем статусе: технически проект готов и работает на проде, но коммерчески ещё не запущен — каталог пуст, оплата в тестовом режиме. Что осталось до открытия, перечислено в конце.

Таймлайн

3 июля 2026

Старт: инфраструктура и модель данных

Монорепозиторий, Django + DRF и Next.js + TypeScript в Docker Compose, версионированное API (/api/v1/). В тот же день — модель каталога: категории с вложенностью, товары с вариантами (размер/цвет как отдельные сущности с ценой и остатком).

3–4 июля 2026

Backend API и фронтенд-витрина

DRF-эндпоинты с фильтрацией и пагинацией, OpenAPI-схема — из неё генерируются TypeScript-типы для фронта, чтобы бэкенд и фронт не расходились по контракту. Next.js со страницами каталога, карточки товара, корзины и оформления на серверном рендере.

6 июля 2026

Оплата: ЮKassa, полный цикл

Приём платежей с чеком по 54-ФЗ, вебхук с перепроверкой статуса через API ЮKassa. В тот же день прогнан тестовый платёж тестовой картой — полный цикл до вебхука отработал с первого раза.

6–7 июля 2026

Продакшн-деплой и переезд с Vercel

Прод-конфигурация (gunicorn + nginx + HTTPS) и сразу — переезд витрины с Vercel на свою VM. Причина переезда: ТСПУ душит зарубежный хостинг для российских посетителей, часть пользователей получала страницу без стилей или вообще не получала её.

Конструктор косметичек — вторая попытка

Первая версия (перенос вёрстки старого лендинга «в лоб») не прижилась: превью там строилось на CSS-псевдоэлементах и точной структуре DOM, на новом стеке разметка не легла, а UX разваливался. Бэкенд к тому моменту был готов и протестирован — пересчёт цены под кастомную конфигурацию делает сервер, а не клиент. Переделал фронтенд-часть с нуля под новый макет, серверный прайсинг оставил как есть.

Аккаунты и остальное на продакшене

JWT-авторизация, гостевой заказ без обязательной регистрации, личный кабинет с историей заказов. На проде: автопродление HTTPS-сертификатов, ежедневные бэкапы базы и еженедельные — медиафайлов (включая копию во внешнем хранилище), 6 сценариев E2E-тестов на Playwright, мониторинг серверных ошибок с алертами в Telegram.

Технические решения

Инфраструктура

Что осталось до запуска

  • Наполнить каталог — сейчас в нём 0 товаров, без этого коммерческий запуск не имеет смысла.
  • Перевести ЮKassa из тестового режима в боевой — для этого нужен уже задеплоенный сайт с офертой, контактами и условиями доставки (частично встречная зависимость с пунктом ниже).
  • Страницы оферты, доставки и возврата — ждут регистрационные реквизиты ИП.

Нужен похожий магазин?

Что входит, сроки и цена на разработку интернет-магазина на Django под ключ.

Подробнее
Смотреть сайт uaartist.ru