Files
second-mind-aep/💼 Работа/Собеседования/Лето 2025/Задачи/💼 Прикладная задача для Middle разработчика.md
2025-08-13 14:53:57 +04:00

39 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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