Лилипутия: как я переношу маркетплейс детских товаров на Next.js и почему решил вести публичные отчёты в MAX. 😏
Есть такая категория людей, которые говорят: «Я делаю свой проект».
И есть люди, которые действительно его делают. С изучением архитектуры, проверкой интеграций, поиском ошибок и периодическими вопросами к мирозданию: «Кто вообще придумал, что это должно работать именно так?»
Я отношусь ко второй категории. Поэтому решил начать публиковать отчёты о разработке Лилипутии прямо в своём канале MAX.
Но сначала немного контекста.
Лилипутия — это маркетплейс детских товаров, а не очередной интернет-магазин с каталогом и кнопкой «Купить».
Здесь важно учитывать взаимодействие покупателей, продавцов, товарного каталога, доставки, заказов, оплаты и остальных частей платформы. А когда начинаешь менять архитектуру, выясняется, что даже одна витрина может быть связана с десятками других процессов.
И вот я решил перенести фронтенд
Liliputiya.ru на Next.js, сохранив Django для серверной логики и существующих функций платформы.
Звучит технологично. На практике — самое интересное начинается после слов «всё готово».
Что произошло на этот раз
Переключение витрины состоялось. Но перед тем, как объявлять победу, я прогнал полный сценарий оформления заказа.
И тестирование обнаружило
четыре критических дефекта в оформлении покупки.
Фронтенд отправлял поля, которые не соответствовали ожиданиям бэкенда. Некорректно обрабатывался адрес перенаправления на оплату. А пункты выдачи в Москве и Санкт-Петербурге умудрились потеряться в списке из 300 точек.
Триста пунктов выдачи. Столица и второй по величине город страны — и ни одного нужного в списке.
Логистика уровня «где-то мы их точно видели». 😂
Самое неприятное: если бы ограничились проверкой главной страницы и каталога, можно было бы торжественно отчитаться об успешном переезде. А покупатель потом обнаружил бы, что купить товар несколько сложнее, чем найти его.
Все выявленные дефекты исправлены, новая сборка развёрнута.
Результаты, а не красивые обещания
✅ 47 из 47 проверок маршрутизации пройдены.
✅ Витрина переведена на Next.js, необходимые маршруты Django сохранены.
✅ Полный цикл тестового заказа пройден: создание, проверка, отмена.
✅ За 50 минут мониторинга после переключения — ноль ошибок HTTP 5xx.
✅ Показатели скорости и стабильности интерфейса укладываются в установленные бюджеты.
Это результаты конкретного этапа, а не заявление о том, что весь маркетплейс уже идеален. Впереди дополнительные проверки под нагрузкой, устранение оставшегося нестабильного предупреждения React и завершение работ с временной инфраструктурой.
Почему я решил вести отчёты прямо в MAX?
Потому что не хочу превращать канал в очередную витрину предпринимательского успеха, где каждый день кто-то масштабируется, внедряет инновации и покоряет новые рынки. А что именно сделано — попробуй догадайся.
Мне интереснее показывать реальную разработку Лилипутии:
— какие задачи решаются и почему;
— какие проблемы обнаруживаются при проверках;
— что удалось исправить, а что ещё предстоит сделать;
— какие технические решения принимаются и как они влияют на работу маркетплейса.
Публичные отчёты — это дисциплина и ответственность за результат.
Когда фиксируешь конкретные изменения, цифры и незакрытые задачи, сложнее выдать намерение за готовую функцию, а успешную сборку — за полностью готовый продукт.
И это касается не только разработки. Маркетплейс существует для покупателей и продавцов, а не для того, чтобы разработчик мог любоваться красивой архитектурой.
Хотя иногда архитектура действительно красивая. Особенно когда после трёх часов отладки наконец-то работает то, что должно было работать с самого начала. 😁
Поэтому буду публиковать здесь отчёты о развитии Лилипутии: без лакировки действительности, с реальными результатами, проблемами и выводами. С юмором — потому что без него некоторые технические приключения лучше вообще не начинать.
Я строю маркетплейс детских товаров. И хочу показывать не только то, каким он должен стать, но