Skip to content

byhaskell/techtask

Repository files navigation

Міні документація

Запит на отримання погоди по назві міста (http://localhost/api/v1/weather)

{"city":"London"}

Без API, запит можна зробити із головної сторінки

http://localhost

Інструкція встановлення та налаштування

В корні проєкта є make file, для запуска через нього потрібно мати docker.

Для запуска проєкта:

make start

Для остановки проєкта:

make stop

Використовуючи docker або без нього, в середовище де підтримується php в корні проєкта потрібно виконати:

composer install

Після установки усіх бібліотек, потрібно відредагувати .env файл:

WEATHER_API_KEY=999e282b1780486a90830854253004

Потрібно замінити на актуальний ключ (цей створений 29.04.2025).

Запуск модульного теста:

./vendor/bin/phpunit tests/

Пояснення

Так як потрібно було показати в twig результат та мати API ендпоінт, то у мене два контролерра: ApiController та WeatherController. По умовах створенно WeatherService класс, для обробки комунікації із API. Додатково створенно:

  1. HttpClientService
  2. LogService
  3. ValidatorWeatherService В HttpClientService реалізована взаємодія із curl для отримання даних з API. В LogService реалізована робота із логуванням В ValidatorWeatherService винесено все що стосується до валідації запиту на пошук. Зроблено для дотримання поділу відповідальності. Мінімальний Css винесено до public/assets/css/style.css

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published