На решение задания было затрачено ~ 2 часа
/api/get-temperature
Параметры lat и lon (широта и долгота) обязательны, исходим из того, что геолокация будет определяться на стороне клиента.
/api/get-weekends?lat=55.754347&lon=37.617187
Данные по температуре выводятся "как есть", т.к. в ответе от gismeteo.api уже есть минимальная и максимальная температура по каждому дню
Параметры lat и lon (широта и долгота) обязательны, исходим из того, что геолокация будет определяться на стороне клиента.
/api/get-nearest?lat=55.754347&lon=37.617187
В конфиге был сделан отдельный текстовый лог, куда пишется информация о запросах и результатах выполения
В лог записывается следующая информация:
- 'user_ip' => 'IP адрес пользователя',
- 'response' => 'полный URL запроса',
- 'status' => 'Результат выполнения, если удаленное API вернуло неверный ответ, то false, иначе true',
Лог похожего формата можно будет отправлять в сервис сбора логов и статистики
- Добавить кэширование
- Собрать в Docker
В ходе выполнения тестового задания появилась идея реализовать весь этот функционал при помощи Nginx + LUA
Со стороны Nginx сделать логирование,кеширование и проксирование, на LUA написать код для некоторых обработок.