Тикетная система с интеграцией Телеграм. Python 3.12 + FastAPI + aiogram
- Python 3.12
- Docker
- poetry
- Есть клиенты — пользователи Telegram. Клиент пишет боту в Telegram сообщение, в системе создается новый тикет. У тикета есть минимум такие статусы: Открыт, В работе, Закрыт. Новый тикет, связанный с клиентом, создается только при условии, что предыдущий закрыт.
- Есть сотрудник, работающий в тикетной системе. Он может:
- смотреть список тикетов (должна быть возможно фильтрации по статусу, сотруднику, сортировки по времени создания\обновления),
- менять статус тикета. При смене статуса отправлять сообщение клиенту, что статус тикета сменился.
- Авторизация для сотрудников через jwt-токен
- Сообщения от сотрудника приходят клиенту в телеграм
- Фронтенд с обменом сообщениями в прямом эфире через web-socket
- Регистрация в системе для сотрудников не для кого угодно
- Клонируйте репозиторий, перейдите в папку
infra
git clone https://github.com/firepanda70/teleticket
cd teleticket/infra
- Cоздайте файл
.env
и заполните данными
BOT_TOKEN=0123456789:AAAAAA-bbbbbbbbbbbbbbbbbbbbbbbbbbbb
DB_URL=postgresql+asyncpg://docker:docker@pg
COMPOSE_PROJECT_NAME=teleticket
POSTGRES_USER=docker
POSTGRES_PASSWORD=docker
POSTGRES_DB=docker
LOG_LEVEL=INFO
SECRET=SUPERSECRET
- Соберите проект
docker compose up -d --build
- Изнутри контейнера web или tg_bot запустите миграции в БД
alembic upgrade head
Документация будет доступна тут
Пользователь:
- Выполнить команду
/start
- Нажать кнопку "Задать вопрос"
- Чатиться с сотрудником
Сотрудник:
- Регистрация в /api/v1/auth/register
- Авторизация в зеленом виджете с надписью "Authorize"
- -- \\ --
- Python 3.12
- FastAPI
- SqlAlchemy
- Docker
- nginx