# ТЗ: Evrone Messenger — корпоративный мессенджер on-premise

Демонстрационная версия документа · категория «Коммуникации» · №28

> Это демонстрационное техническое задание: оно показывает структуру и глубину
> документа, который передаётся вместе с прототипом. Боевое ТЗ по этому солюшену
> готовится и заменит этот файл.

## 1. Суть решения

Каналы и треды, поиск по истории, SSO/LDAP, AI-саммари тредов.

Каналы и личные сообщения, структурированные треды, файлы с предпросмотром, поиск по истории, гостевой доступ, десктоп и мобильные клиенты, SSO/LDAP, разворачивание в контуре заказчика. Дифференциатор — AI-слой: саммари тредов, поиск ответов по истории переписки. Также встраивается модулем в другие решения линейки (HRM, LMS, Health).

## 2. Технологический стек

| Слой | Решение |
|---|---|
| Backend | Ruby on Rails 8, PostgreSQL |
| Frontend | Hotwire (Turbo + Stimulus), Tailwind CSS |
| Фоновые задачи | Solid Queue |
| Файлы | Active Storage, S3-совместимое хранилище |
| Деплой | Docker, Kamal, production + staging |

## 3. Роли

- Сотрудник
- Гость
- Администратор контура

## 4. Модель данных

### 4.1. Channel

```
kind: enum # публичный, приватный, личный
members: has_many
retention_days: integer, nullable
```

### 4.2. Message

```
channel_id: references
thread_id: references, nullable
body: text
attachments: has_many_attached
edited_at: datetime, nullable
```

### 4.3. Installation

```
domain: string
sso_kind: enum # SAML, LDAP
storage_path: string
```

## 5. Ключевые сценарии

1. Сотрудник переписывается в каналах и разворачивает обсуждения в треды
2. Поиск идёт по всей истории с учётом прав доступа
3. Гость получает доступ только к согласованным каналам
4. AI-слой делает саммари треда и находит ответы в истории

## 6. Интеграции

- SSO и LDAP
- Хранилище файлов
- Десктоп и мобильные клиенты
- LLM для саммари

## 7. Нефункциональные требования

- Серверный рендеринг, работоспособность ключевых страниц без JavaScript
- Мобильная адаптивность обязательна
- Роли и права проверяются на уровне сервера, а не интерфейса
- Логирование действий пользователей по значимым операциям
- Покрытие тестами моделей и ключевых сценариев
- Развёртывание одной командой, окружения production и staging

## 8. Состав MVP

Каналы + треды + файлы + поиск + on-premise установка.

## 9. Критерии приёмки

1. Все сценарии из раздела 5 проходят end-to-end на тестовом стенде
2. Роли из раздела 3 видят только то, что им положено
3. Интеграции из раздела 6 работают через слой адаптеров и переключаются конфигурацией
4. Прототип разворачивается из репозитория одной командой
5. Документация по запуску и переменным окружения лежит в README
