Описание задачи в Jira
Пример описания задачи в Jira на разработку
Название задачи: “Реализовать создание заявки на досрочное расторжение договора”
Описание задачи
Необходимо реализовать возможность создания заявки на досрочное расторжение договора из клиентского интерфейса.
Пользователь выбирает договор, заполняет данные для расторжения и отправляет заявку. Фронт вызывает REST endpoint API Gateway. API Gateway выполняет первичную валидацию, маппинг REST-запроса в gRPC-запрос и вызывает backend-сервис ContractTerminationService.
Детальное описание бизнес-контекста, требований, контрактов и сценариев приведено в связанных артефактах (прикрепить артефакты к задаче).
Целевая схема реализации
В рамках задачи необходимо реализовать цепочку:
Frontend → REST API Gateway → gRPC ContractTerminationService → DatabaseПодробная последовательность вызовов описана в артефакте: Sequence diagram
Объем реализации
API Gateway
Необходимо реализовать прием REST-запроса на создание заявки, первичную валидацию, получение пользовательского контекста, маппинг REST-запроса в gRPC-запрос, вызов backend-сервиса и преобразование ответа обратно в REST-формат.
Детали реализации см.:
- REST-контракт: REST endpoint
- маппинг REST → gRPC: Mapping REST to gRPC
- обработка ошибок: Ошибки
- NFR: NFR
Backend-сервис
Необходимо реализовать gRPC-метод создания заявки на досрочное расторжение договора.
Backend-сервис должен выполнить бизнес-проверки, создать заявку, сохранить необходимые данные и вернуть результат создания в API Gateway.
Детали реализации см.:
- gRPC-контракт: gRPC method
- функциональные требования: FR
- статусы заявки: Статусы
- модель данных: Модель данных
- справочники: Справочники
База данных
Необходимо предусмотреть хранение заявки на досрочное расторжение договора и связанных с ней документов.
Детальная структура сущностей, атрибутов и связей описана в артефакте: Модель данных.
Основные функциональные ожидания
После реализации пользователь должен иметь возможность создать заявку на досрочное расторжение договора через клиентский интерфейс.
Система должна:
- принять REST-запрос от фронта;
- проверить корректность входных данных;
- преобразовать REST-запрос в gRPC-запрос;
- вызвать backend-сервис;
- выполнить бизнес-проверки на стороне backend-сервиса;
- создать заявку;
- вернуть фронту результат создания заявки;
- корректно обработать бизнесовые и технические ошибки.
Подробная функциональная логика описана в: FR.
Критерии приемки
Успешное создание заявки
Пользователь может создать заявку на досрочное расторжение договора, если:
- пользователь авторизован;
- договор существует;
- договор принадлежит пользователю;
- договор допускает досрочное расторжение;
- по договору нет активной заявки на расторжение;
- переданы обязательные параметры.
Ожидаемый результат: заявка создана, фронт получает успешный ответ.
Детали см.:
Требования к ошибкам
Все ошибки должны возвращаться в едином формате, описанном в артефакте: Ошибки.
API Gateway должен выполнять маппинг gRPC-ошибок backend-сервиса в HTTP-ответы согласно правилам из указанного артефакта.