Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
# Пользовательская история Сервис задач согласования и отправки писем с именем "task" - реализует REST API для создания задачи на согласование и рассылки уникальных ссылок-решений участникам. Список участников указывается явно (список email) для каждой задачи. REST API должно реализовывать методы `CREATE` и `DELETE` для задач согласования. Операции позволены только автору задачи. Каждому участнику после создания задачи высылается письмо с двумя уникальными ссылками - "согласовано" и "не согласовано". Сначала отправляется письмо первому согласующему, ожидается его реакция, затем следующему, ожидается его реакция, и т.д. до последнего согласующего. API должно иметь методы для обработки "нажатий" на высланные ссылки и регистрации соответствующей реакции согласующего. Если была нажата хотя бы одна ссылка "не согласовано", задача считается в целом не согласованной, и всем участникам рассылается уведомление об окончании согласования с негативным результатом, и письма со ссылками следующим согласующим по этой задаче уже не отправляются. # Требования к реализации - Реализовать бизнес-логику сервиса в гексагональной архитектуре - Обеспечить gracefull shutdown сервиса, логгирование и трейсинг - В качестве базы данных может использоваться MongoDB или PostreSQL - Сервис должен выполнять отправку письма не чаще, чем \[1 письмо / мин\] (допустимо в stdout)