in progress
...
- Найден хостинг: https://www.pythonanywhere.com
- Выбраны библиотеки и язык для бота
- Намечен примерный план работы
- Выбрана система для хранения данных: SQLite
- Примерный макет базы данных готов и подключён к боту
- Начато написание интерфейса
- Базовые возможности и интерефейс покупателя
- Базовые возможности и интрефейс бармена
На данный момент остается панель админа + оптимизация и переписывание говнокода.
-
Администратор.
Имеет полный доступ ко всем возможностям бота.
- выбор роли заказчика или бармена (скоро)
- различные логи (как получится)
- какая-либо статистка (не скоро)
- вносить изменения в списки прав (не скоро)
- фичи, которые я ещё не придумал (не скоро)
-
Бармен.
- может посмотреть очередь заказов (готово)
- отмечать выполненные заказы (готов)
- принимать заказы, заказ получит соответствующий статус (готово)
- заказать что-либо самостоятельно (готово)
-
Покупатель (заказчик).
- Может посмотреть барную карту (готово)
- Посмотреть информацию о позициях (готово)
- Выбрать из перечня, подтвердить и заказать (готово)
- Посмотреть свои заказы и их статус (готово)
- Сумма заказов, календарь вечеринок... (пока не скоро)
Находится в data/database.db (загитигнорена во избежание утечки пользовательских данных) хранится локально на хосте
Представляет собой SQLite базу, вся логика прописывается в файле database.py. Позднее нужно будет создать класс, обслуживающий эту бд.
Бд содержит таблицу пользователей, барную карту и таблицу заказов (из которой формируется очередь бармена)
Пока что структура примерная, походу дела картина станет яснее.
Табличка в базе данных, где хранится:
- номер заказа (может и не нужен, пока вместо него дата и время)
- наименование продукта из меню
- id покупателя
- id бармена
- статус заказа
- список со временем изменений статуса заказа (пока не нужно, ибо статуса всего два и, наверное, больше не нужно)
Табличка в бд с полями:
- наименование
- описание
- стоимость
- возможно теги (для деления на категории в случае слишком большого меню)
Табличка содержит:
- id пользователя
- имя пользователя
- уровень доступа (тип пользователя)
- ...
...
...
- python-telegram-bot v21.0.1 installed from pip
- python 3.8 - 3.12
- BOT_TOKEN a variable in your environment with the value of the Telegram bot API token
...