О проекте
Что настоящее, что вымышлено
«Дровяная» это демо для портфолио: показать на живом примере, как выглядят заказ словами, кухня в реальном времени и бот. Пиццерии нет, а всё остальное работает.
Работает
- Заказы
- Каждый заказ с сайта или из бота попадает в базу на сервере, получает номер и живёт там сутки, потом чистится.
- Разбор текста
- Фразу вроде «две маргариты без лука к семи на Ленина 5» читает GigaChat и собирает из неё заказ по меню. Если модель не отвечает, работает разбор по правилам: соображает проще, но заказ всё равно соберёт.
- Кухня
- Панель заказов получает новые заказы сразу, без обновления страницы, и двигает их по статусам. Вход по демо-паролю, он написан на странице входа.
- Бот в Telegram
- Заказ можно написать боту так же, как на сайте, подтвердить кнопкой и получать статусы сообщениями. Со страницы заказа с сайта тоже можно подписаться на статусы в Telegram.
- Страница заказа
- Обновляется сама, как только кухня нажала кнопку. Ничего перезагружать не нужно.
- Лимиты
- Чтобы демо нельзя было сломать, число разборов и заказов с одного адреса ограничено, а старые заказы удаляются сами.
Придумано
- Пиццерия
- «Дровяная», ул. Профсоюзная, 12, часы с 11:00 до 23:00. Такого заведения в Казани нет.
- Меню и цены
- Похожи на настоящие, но придуманы для примера. Размеры, добавки и «без лука» работают, потому что так устроен разбор, а не потому что где-то есть повар.
- Доставка и оплата
- Курьер никуда не поедет, деньги ни с кого не спишутся. В демо «оплата при получении», и никакой оплаты нет.
- Отзывы и цифры
- Их здесь нет специально. Ни «10 000 довольных гостей», ни звёздочек: придумывать такое было бы нечестно.
На чём это собрано
- Next.js
- сайт, страницы и API в одном сервере на обычном VPS
- SQLite
- база заказов одним файлом рядом с сервером, без отдельной СУБД
- GigaChat API
- разбор свободного текста в структурированный заказ, правила как страховка
- grammY
- бот в Telegram, вебхук принимает тот же сервер
- SSE
- кухня и страница заказа получают изменения по открытому соединению, без кнопки «обновить»
Откуда фото
Пиццы, закуски и десерты сняты не в настоящем зале: кадры сделаны для демо. Напитки и часть закусок — стоковые фотографии с Pexels, их лицензия разрешает коммерческое использование. Чужих логотипов и брендов в кадре нет. Знак, вёрстка и карта зон нарисованы для этого проекта.
Кто сделал
Алексей, веб-разработчик. Сайты с заказами, боты в Telegram и MAX, разбор текста внутри бизнес-процесса. Если нужно что-то похожее, пишите.