Реализовать сервис, который будет получать по апи ФИО, из открытых апи обогащать ответ наиболее вероятными возрастом, полом и национальностью и сохранять данные в БД. По запросу выдавать инфу о найденных людях. Необходимо реализовать следующее
TODO:
- Выставить rest методы
- Для получения данных
- с различными фильтрами
- пагинацией
- Для удаления по идентификатору
- Для изменения сущности
- Для добавления новых людей в формате
- Корректное сообщение обогатить
- Возрастом - https://api.agify.io/?name=Dmitriy
- Полом - https://api.genderize.io/?name=Dmitriy
- Национальностью - https://api.nationalize.io/?name=Dmitriy
- Обогащенное сообщение положить в БД postgres (структура БД должна быть создана путем миграций)
- Покрыть код debug- и info-логами
- Вынести конфигурационные данные в .env
- Реализация Graceful Shutdown
- Запуск из Docker
- Юнит-тестирование уровней обработчиков, бизнес-логики и взаимодействия с БД классическим способом и с помощью моков - библиотеки testify, mock.
- Автоматическое создание документации с помощью Swagger 2.0 - библиотека echo-swagger.
- Непрерывная интеграция - сборка приложения, проверка линтером и запуск тестов в Github action.