Общая задача

Создать Telegram-бота на чистом Python для кофейни. Бот должен заменить / дополнить ручной прием заказов и обеспечить удобный инструмент для администрации заведения.

Основные функции

  • Прием заказов: пользователь через бота выбирает напитки/десерты из меню, указывает количество, получает итоговую сумму.
  • Админ-панель: отдельный веб-интерфейс (или Telegram-интерфейс) для изменения меню, просмотра и обработки заказов, просмотра всей истории бронирований, фильтра по дням/неделям.
  • Корзина: пользователь может добавлять, удалять позиции, просматривать корзину перед отправкой.
  • Уведомления: автоматическая отправка уведомлений администратору о новых заказах (Telegram-сообщение, email или SMS по согласованию с исполнителем).
  • Интеграция с платежами (опционально): обсудить с исполнителем варианты - на данном этапе оплата может быть наличными при получении.

Технические детали

  • Язык программирования: Python.
  • База данных: стандартные MySQL или PostgreSQL (генерация ER-диаграммы приветствуется).
  • Фреймворк для бота: aiogram / python-telegram-bot (на усмотрение исполнителя, с пояснением выбора).
  • Админ-панель: Flask / FastAPI на бэке + базовый HTML/CSS шаблоны (можно использовать библиотеки Bootstrap/Tailwind для быстрой верстки).

Требования к интерфейсу бота

  • Приветственное сообщение с информацией о заведении.
  • Интерактивное меню с картинками/креативом.
  • Кнопки «Сделать заказ», «Наше меню», «Контакты и время работы».
  • Процесс оформления заказа: краткие вопросы в кнопках, история предыдущих заказов для постоянных.
  • Функция отмены / редактирования заказа на любом этапе.

Дополнительные пожелания

  • Логирование ошибок и работы бота для отладки.
  • Возможность масштабирования бота на несколько кофеен (задел на будущее).
  • Хостинг либо инструкция по деплою на любого провайдера (Heroku, VPS, AWS и т.д.) первой закладки.

Сроки и контрольные точки

  • Предложить концептуальные скетчи админки и макеты UI бота на первой встрече (если анонимно заказчик потребует).
  • Первый работающий прототип через 10-12 дней.
  • Финальная сдача с тестированием + инструкция администраторов через 3 недели.