Дровяная
«Дровяная» — мой демо-проект: сайт пиццерии, где заказ можно написать словами, как другу. Фраза «две пепперони большие без лука и колу к семи на Ленина 5» превращается в чек, уходит на кухню и возвращается статусом клиенту — на страницу заказа и в Telegram. Внутри разбор текста, бот, панель кухни и админка с CRM.
drova.lstmind.ruNext.js · Разбор заказа словами · Telegram-бот · Админка + CRM
Задача
Показать, что заказ в общепите не обязан быть двадцатью тапами по карточкам: человек уже знает, чего хочет, и быстрее всего написать это одной фразой.
Собрать не витрину, а рабочий контур: заказ с сайта и из Telegram, кухня, статусы клиенту, управление меню и база клиентов — всё то, чем заведение пользуется каждый день.
Что сделано
01заказ словами
04меню и размеры
05колесо вкусов
- Разбор понимает опечатки и текст, набранный в латинской раскладке
- Черновик заказа собирается сразу под строкой: состав, цены, доставка, итог и вопросы, если чего-то не хватает
- Корзина и оформление: доставка или самовывоз, время, комментарий курьеру
- Страница заказа с живым статусом: «принят — готовим — готово — курьер выехал», без перезагрузки
- Кнопка «получать статусы в Telegram» — дальше клиент не держит вкладку открытой
- Повтор прошлого заказа одной кнопкой, с пересчётом по актуальным ценам
- Telegram-бот: тот же разбор в чате, карточка заказа, подтверждение и уведомления о статусах
- Мини-приложение в Telegram открывает сайт с той же корзиной
- Панель кухни: колонки по статусам, новые заказы прилетают сами, звук на новый заказ, вход по паролю
- Админка: редактор меню (цены по размерам, состав, синонимы для разбора, наличие, порядок, архив)
- Админка: заказы с поиском и фильтрами, ручная смена статуса, настройки заведения — часы, зоны и цена доставки, минимальный заказ
- CRM: карточки клиентов, сегменты «новые / постоянные / спящие», сумма и средний чек, заметки, выгрузка в csv
- Сводка: выручка и средний чек за день и неделю, что заказывают, в какие часы приходят заказы
- Карта доставки на Яндексе с зонами и ценой по каждой
- Ограничения на разбор: лимиты по ip и на пользователя Telegram, отсев мусорных фраз до обращения к модели
Как устроено

Разбор устроен в два слоя. Сначала работают правила: они читают числа, размеры, время, адрес и сверяют слова с меню — включая опечатки и раскладку. Сверху подключается GigaChat через function calling. Если модель молчит, тормозит или выдумывает позицию, которой в тексте не было, заказ всё равно соберётся по правилам, а выдуманное отсеется.
На разбор навешаны лимиты: мусорные фразы до модели вообще не доходят, у каждого ip и каждого пользователя Telegram свой счётчик в час и в сутки. Демо открыто всему интернету, и оплачивать чужие развлечения я не собирался.
Кухня и страница заказа обновляются по SSE: сервер сам присылает изменение статуса, клиент ничего не опрашивает. Заказ, оформленный на сайте, появляется на кухне за долю секунды.
Меню лежит в базе, а не в коде: правки в админке сразу меняют витрину, корзину, разбор текста и ответы бота. Синонимы к позициям тоже правятся в админке — «ббк» или «острая с колбасой» начинают пониматься без релиза.
База — sqlite в режиме WAL: для заведения с сотней заказов в день этого хватает с большим запасом, а обслуживать нечего.
Деплой одной командой: сборка, выкладка по ssh в отдельный релиз, переключение симлинка, рестарт, health-check и автоматический откат, если новая версия не поднялась. 250 тестов на разбор текста гоняются до сборки.
Открыть сайтdrova.lstmind.ru открывается и работает прямо сейчас
Внутри
Экраны за паролем и то, что не видно с первого взгляда.




Услуги в этом проекте
- Сайт под ключСобираю с нуля: структура, дизайн, вёрстка, запускот 15 000 ₽
- Интернет-магазинWooCommerce под ключ: каталог, фильтры, оплата, перенос товаровот 35 000 ₽
- Телеграм-бот под задачуЗаявки, заказы и уведомления там, где клиент уже сидитот 15 000 ₽
- Админка, личный кабинет и CRMЗаказы, статусы, клиенты и права под ваш процессот 40 000 ₽
Следующий разбор
Нега
Нужен такой же?
Расскажите задачу: отвечу в течение часа, назову срок и вилку цены. Если задачу лучше решить иначе, скажу об этом сразу.

