Данный проект представляет собой демо-бота для парикмахерской с использованием FastAPI для поднятия веб-сервера и обработки запросов, а также с реализацией Telegram MiniApp для приема заявок. Бот работает через вебхуки и взаимодействует с базой данных на SQLite с использованием асинхронной алхимии (SQLAlchemy, движок aiosqlite). Веб-приложение поддерживает статические страницы и функционал для работы администратора и клиентов.
- Backend: FastAPI
- Telegram API: Webhooks
- ORM: SQLAlchemy (aiosqlite)
- База данных: SQLite
- Миграции: Alembic
- Telegram MiniApp: Мини-приложение для приема и обработки заявок парикмахерской.
- Веб-интерфейс:
- Главная страница.
- Страница оформления заявки.
- Страница просмотра своих заявок для пользователей.
- Страница просмотра всех заявок для администратора.
- Телеграм-бот:
- Возможность добавления ссылки на MiniApp в командное меню, инлайн-клавиатуру и текстовую клавиатуру.
- База данных: Хранение данных о заявках пользователей и их статусе.
- Прием заявок через Telegram MiniApp: Пользователи могут отправить заявку на услуги парикмахерской через MiniApp.
- Просмотр заявок:
- Клиенты могут видеть свои отправленные заявки на отдельной странице.
- Администраторы могут управлять заявками через интерфейс администратора.
- Интеграция MiniApp в Telegram:
- Установка ссылки на MiniApp в командное меню, инлайн-кнопки и текстовые клавиатуры бота.
- Асинхронная работа с базой данных: Для работы с SQLite используется асинхронный движок aiosqlite и ORM SQLAlchemy.
- Миграции с Alembic: Для обновления схемы базы данных используется Alembic.
Ниже представлена анимация, демонстрирующая процесс работы приложения:
pip install -r requirements.txt
alembic upgrade head
uvicorn app.main:app