Сайт кондитерской в Хельсинки
Витрина, меню и приём заказов на трёх языках — с админкой, в которую владелец заходит сам и ничего не ломает.
- Меню и тексты правит владелец, без разработчика и без риска сломать вёрстку
- Три языка под аудиторию Хельсинки: английский, финский, русский
- Быстрая отдача страниц и предсказуемый деплой в один шаг
Задача
Маленькому пищевому производству сайт нужен живым: меню меняется, сезонные позиции приходят и уходят. Сайт, за правку которого надо платить разработчику, устаревает за месяц и перестаёт работать на бизнес.
Как устроено
Next.js последней версии в связке с редакторской системой в том же приложении: контент лежит в базе, страницы отдаются статикой. Три локали — часть модели контента, а не отдельные копии сайта. Девять этапов от каркаса до наполнения, каждый со своей приёмкой.
Что было трудно
Развёртывание такой связки оказалось капризнее самой разработки. Штатная команда запуска миграций в этом окружении молча не делает ничего — нужен прямой запуск через исполнитель TypeScript. Сборка зависает намертво, если миграции не закрыты явным флагом. И порядок деплоя строгий: база до сборки, иначе сборка не найдёт схему. Всё это выписано в отдельную памятку, чтобы следующий такой сайт не стоил тех же дней.
Чем подтверждено
- Все девять этапов закрыты
- Наработанные грабли вынесены в переиспользуемую инструкцию для следующих проектов
- Контент-модель проверена на реальном меню, а не на заглушках