Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Web App: Aiogram + FastAPI webhook приложение

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

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

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

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

pip install -r requirements.txt

Переменные среды

В проект необходимо добавить .env файл, со следующими переменными

  • BOT_TOKEN - токен телеграм бота
  • BASE_SITE - домен приложения
  • ADMIN_ID - ID телеграм аккаунта администратора

Функционал:

1. Регистрация клиентов:

При команде start бота, приложение ищет в базе данных пользователя и выводит приветствие, если пользователь не найден - произведется добавление его в базу данных.

2. Прием заявок через Telegram MiniApp:

Пользователи могут отправить заявку на коммерческое предложение по образовательным услугам выбирая вид и программы обучения. В одну заявку может быть добавлено несколько услуг.

После регистрации заявки, происходит оповещение в Телеграм

Пользователя / Администратора:

3. Просмотр заявок:

  • Пользователи могут видеть свои отправленные заявки на отдельной странице, разделенные на статусы отработки
  • Администратор может видеть все заявки пользователей и отправлять на отработку "Заявки в работе"

4. Отработка заявок:

По команде администратора на направление заявки на "Отработку" ему откроется страница с введением стоимости по каждой услуге заявки

После введения стоимости:

  • администратору придёт сформированное коммерческое предложение в формате docx, которое останется только подписать

  • пользователю, придёт сообщение о том, что его заявка отработана с установленным ценовым предложением и в ближайшее время он получит подписанное коммерческое предложение

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages