Перейти к содержимому

Архитектура системы

EasyDesk построен вокруг трёх ключевых принципов:

1. Канальная агностичность — ядро системы (core, service/*) не зависит от конкретных мессенджеров. Весь платформенный код изолирован в модулях channel/* и реализует единый контракт channel:api.

2. Supervisor-agnostic модель — платформенные ID (Telegram user_id, topic_id) хранятся в таблицах привязок отдельно от доменных сущностей. Ядро оперирует только абстрактными agent_id и ticket_id.

3. EventBus (SharedFlow) — значимые события (создание тикета, смена статуса, назначение) публикуются в шину и доставляются подписчикам. Каждый подписчик сам отвечает за персистентность нужных ему данных.

входящие обращенияКаналыTelegram DMEmailВКонтактеконтрактchannel:apiбизнес-логикаservice/*ticketsagentstemplatesauditcoreдоменные модели · EventBus · утилитыsupervisor:telegramБот в супергруппе · Mini App