MikhailFerapontow / yadro-go

Проект с Golang курс | YADRO
1 stars 0 forks source link

Задание 5 #9

Closed vbelogrudov closed 3 months ago

vbelogrudov commented 4 months ago

Создание и тестирование веб-сервиса.

Цель

Создать веб-сервис, который по REST API выдает по поисковым словам url картинок, a также принимает команду на обновление базы. Примеры запросов:

POST /update
GET /pics?search=xxx

Рекомендуем для тестирования изучить инструмент curl. Использование сторонних библиотек при выполнении задания запрещено (только стандартный http pkg, никаких gin/echo/…). Предусмотреть возможность срабатывания обновления всегда в заданное время суток В этом задании попробуйте применить так называемую гексагональную архитектуру.

Критерии приемки

  1. make server компилирует приложение сервера xkcd-server использует такой же конфиг, что и xkcd. Дополнительно необходимо указать порт флагом -p или опцией port в config.yaml
  2. Сервер использует стандартную http библиотеку для сервиса запросов.
    • POST /update возвращает нам HTTP code ОК после обновления, количество new/total comics в виде JSON.
    • GET /pics?search="I'll follow your questions" возвращает урлы картинок в JSON формате
  3. В определенное время сервер сам (раз в сутки) проверяет наличие новых комиксов.
  4. Есть разделение проекта на независимую core часть и адаптеры

    Материалы для ознакомления