Тестовое задание для Tapir
Требования к заданию данно в этом документе
Для запуска всего проекта требуется иметь установленные в системе docker и docker-compose
Так же, требуется чтобы были открыты 8279, 8280 и 8281 порты (их можно переопределить в файле docker-compose.yaml)
Запустить всё, можно командой
docker-compose up
Сервер будет запущен по адресу localhost:8280
Документация к API доступна тут localhost:8281
Она соответствуют спецификации OpenAPI и построен при помощи утилиты redoc
Для того чтобы её изменить, требуется изменить файл docker/swagger/swagger.yaml (и документация автоматически изменится, после обновления страницы)
Так же, её возможно поднять сервер с документацией в хост системе (если на ней есть эта утилита), выполнив команду
redoc-cli serve ./docker/swagger/swagger.yaml
В папке docker лежат файлы, необходимые для сборки образов
В src лежит основной код проекта
В src/public, на данный момент лежит только index.php (эта папка доступна из web)
В папке src/app лежат php классы и интерфейсы
В папке src/scripts лежат скрипты, которые можно запускать из консоли (в данный момент тут лежит только parser.php)
- Запуск парсера по cron
- Роуты (ЧПУ путь до API)
- Добавить возможность слать запросы к API через redoc
- Сделать владельцем папок docker/db/data и vendor пользователя системы (а не рута)
- Можно добавить валидацию параметров в реквестах
- Добавить возможность логировать ошибки при парсер
- Добавить phpdoc