2.0 KiB
2.0 KiB
📝 Задача: Система управления событиями
Условие:
Вы разрабатываете систему для управления событиями (конференции, вебинары, встречи). Нужно реализовать сервис регистрации участников с учетом следующих требований:
-
Событие имеет:
- ID, название, описание
- Дату начала и окончания
- Максимальное количество участников
- Статус (DRAFT, PUBLISHED, CANCELLED)
-
Участник имеет:
- ID, имя, email
- Дату регистрации
-
Бизнес-правила:
- Регистрация возможна только на опубликованные события
- Нельзя зарегистрироваться на событие, которое уже началось
- Нельзя превысить лимит участников
- Один участник может зарегистрироваться на событие только один раз
- При отмене события нужно уведомить всех участников
Техническое задание:
Опишите подход к решению задачи:
- Архитектуру приложения - какие слои нужны
- Entity классы - основные поля и связи
- Ключевые методы EventRegistrationService
- Обработку бизнес-правил - где и как валидировать
- REST API endpoints - какие нужны
- Обработку ошибок - типы исключений
- Транзакции - где нужны и почему
- Тестирование - что важно покрыть тестами
Время на выполнение: 25 минут