# ТЗ: Evrone Community — платформа сообществ

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

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

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

Пространства и каналы, платное членство, ивенты, база знаний, геймификация.

Закрытые клубы и комьюнити. Пространства и каналы, лента с постами и обсуждениями, роли и уровни доступа, платное членство, ивенты сообщества с календарём, онбординг новичков, база знаний клуба, геймификация активности. Аналоги для позиционирования: Circle, Mighty Networks.

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

```
name: string
access: enum # открытое, по заявке, платное
channels: has_many
```

### 4.2. Membership

```
user_id: references
space_id: references
role: enum
paid_until: date, nullable
```

### 4.3. Event

```
space_id: references
starts_at: datetime
format: enum # онлайн, офлайн
registrations: has_many
```

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

1. Администратор создаёт пространство с каналами и правилами доступа
2. Новичок проходит онбординг и попадает в ленту сообщества
3. Платное членство продлевается автоматически
4. Ивенты сообщества собираются в календарь с регистрацией

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

- Платёжный провайдер
- Email и push-уведомления
- Видеовстречи

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

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

## 8. Состав MVP

Пространство + лента + платный доступ + ивенты.

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

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