# ТЗ: Evrone Fanbase — монетизация аудитории

Демонстрационная версия документа · категория «Сообщества и креаторы» · №26

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

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

Уровни подписки, пейволл, PPV-сообщения, рекуррентный биллинг, выплаты.

Fan subscription / creator economy платформа. Профиль автора, уровни подписки, пейволл на посты/фото/видео, PPV-сообщения (платная разблокировка контента в личных сообщениях), чаевые, рекуррентный биллинг с ретраями, выплаты авторам, модерация контента и верификация возраста, аналитика автора (MRR, отток, конверсия).

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

```
display_name: string
tiers: has_many
verified_at: datetime, nullable
payout_details: jsonb
```

### 4.2. Post

```
creator_id: references
visibility: enum # открытый, по подписке, PPV
price: integer, nullable
media: has_many_attached
```

### 4.3. Subscription

```
fan_id: references
tier_id: references
state: enum
next_charge_at: datetime
retry_count: integer
```

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

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

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

- Рекуррентный биллинг
- Выплаты авторам
- Модерация контента
- Верификация возраста

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

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

## 8. Состав MVP

Автор + тарифы + пейволл + рекуррентные платежи + выплаты.

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

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