# ТЗ: Evrone Newsroom — медиа на своём движке

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

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

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

Редакционный воркфлоу, конструктор статей блоками, SEO из коробки, пейволл.

Для изданий с уникальными требованиями. Редакционный воркфлоу (роли автор/редактор/выпускающий, статусы, выпуск), конструктор статей блоками (текст, галерея, видео, цитата, embed), рубрики и сюжеты, главная с ручным управлением приоритетами, SEO-машина из коробки, комментарии с модерацией, рекламные слоты и пейволл.

## 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. Article

```
title: string
blocks: jsonb # текст, галерея, видео, цитата, embed
state: enum # черновик, на редактуре, готово, опубликовано
published_at: datetime
```

### 4.2. Rubric

```
name: string
slug: string
stories: has_many # сюжеты
```

### 4.3. Comment

```
article_id: references
author_name: string
state: enum # на модерации, опубликован, скрыт
```

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

1. Автор собирает статью в блочном конструкторе и отправляет редактору
2. Выпускающий формирует главную, вручную управляя приоритетами материалов
3. Публикация уходит в поиск с готовой SEO-разметкой
4. Комментарии проходят модерацию, рекламные слоты подставляются по правилам

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

- Рекламные сети
- Пейволл и подписка
- Рассылки
- Системы веб-аналитики

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

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

## 8. Состав MVP

Админка + конструктор + быстрый публичный сайт.

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

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