Skip to content

Telegram ticket service. Python 3.12 + FastAPI + aiogram

License

Notifications You must be signed in to change notification settings

firepanda70/teleticket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

teleticket

Тикетная система с интеграцией Телеграм. Python 3.12 + FastAPI + aiogram

Требования

  • Python 3.12
  • Docker
  • poetry

Описание тикетной системы:

  • Есть клиенты — пользователи Telegram. Клиент пишет боту в Telegram сообщение, в системе создается новый тикет. У тикета есть минимум такие статусы: Открыт, В работе, Закрыт. Новый тикет, связанный с клиентом, создается только при условии, что предыдущий закрыт.
  • Есть сотрудник, работающий в тикетной системе. Он может:
    • смотреть список тикетов (должна быть возможно фильтрации по статусу, сотруднику, сортировки по времени создания\обновления),
    • менять статус тикета. При смене статуса отправлять сообщение клиенту, что статус тикета сменился.
  • Авторизация для сотрудников через jwt-токен
  • Сообщения от сотрудника приходят клиенту в телеграм

TODO

  • Фронтенд с обменом сообщениями в прямом эфире через 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

Документация будет доступна тут

Инструкция использования

Пользователь:

  1. Выполнить команду /start
  2. Нажать кнопку "Задать вопрос"
  3. Чатиться с сотрудником

Сотрудник:

  1. Регистрация в /api/v1/auth/register
  2. Авторизация в зеленом виджете с надписью "Authorize"
  3. -- \\ --

Технологии

  • Python 3.12
  • FastAPI
  • SqlAlchemy
  • Docker
  • nginx

About

Telegram ticket service. Python 3.12 + FastAPI + aiogram

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published