Skip to content

Yakvenalex/FastApiWebhookTGBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект: Телеграм Бот с MiniApp на FastAPI

Данный проект представляет собой демо-бота для парикмахерской с использованием FastAPI для поднятия веб-сервера и обработки запросов, а также с реализацией Telegram MiniApp для приема заявок. Бот работает через вебхуки и взаимодействует с базой данных на SQLite с использованием асинхронной алхимии (SQLAlchemy, движок aiosqlite). Веб-приложение поддерживает статические страницы и функционал для работы администратора и клиентов.

Стек технологий:

  • Backend: FastAPI
  • Telegram API: Webhooks
  • ORM: SQLAlchemy (aiosqlite)
  • База данных: SQLite
  • Миграции: Alembic

Основные компоненты:

  1. Telegram MiniApp: Мини-приложение для приема и обработки заявок парикмахерской.
  2. Веб-интерфейс:
    • Главная страница.
    • Страница оформления заявки.
    • Страница просмотра своих заявок для пользователей.
    • Страница просмотра всех заявок для администратора.
  3. Телеграм-бот:
    • Возможность добавления ссылки на MiniApp в командное меню, инлайн-клавиатуру и текстовую клавиатуру.
  4. База данных: Хранение данных о заявках пользователей и их статусе.

Функционал:

  1. Прием заявок через Telegram MiniApp: Пользователи могут отправить заявку на услуги парикмахерской через MiniApp.
  2. Просмотр заявок:
    • Клиенты могут видеть свои отправленные заявки на отдельной странице.
    • Администраторы могут управлять заявками через интерфейс администратора.
  3. Интеграция MiniApp в Telegram:
    • Установка ссылки на MiniApp в командное меню, инлайн-кнопки и текстовые клавиатуры бота.
  4. Асинхронная работа с базой данных: Для работы с SQLite используется асинхронный движок aiosqlite и ORM SQLAlchemy.
  5. Миграции с Alembic: Для обновления схемы базы данных используется Alembic.

Пример GIF-анимации

Ниже представлена анимация, демонстрирующая процесс работы приложения:

Демонстрация работы мини-чата

Как запустить проект

Установка зависимостей:

pip install -r requirements.txt

Выполнение миграций Alembic

alembic upgrade head

Запуск проекта

uvicorn app.main:app

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published