-
Для запуска приложения нужно клонировать репозиторий по ссылке
-
Перейти в папку проекта (test-repository)
-
Установить зависимости из файла composer.json
- composer install
-
Создать файл в корне проекта .env
- touch .env
-
Запустить контейнеры с проектом
- docker-compose up -d --build
-
Для импорта 10 последних записей из iTunes Movie Trailers используйте команду
- docker exec -it test-repository_app_1 bin/console "fetch:trailers"
Измените существующий код так, чтобы на главной странице приложения было:
- текущее время и дата;
- название класса контроллера, который отвечает за отображение этой страницы;
- название метода контроллера, который отправляет данные на эту страницу;
Дополните существующий код так, чтобы:
- в БД приложения были импортированы (с помощью консольной команды) 10 последних записей (не больше) из iTunes Movie Trailers;
- на главной странице приложения были показаны эти 10 записей. Каждая должна состоять из заголовка трейлера и постера;
- заголовок каждой записи должен быть ссылкой на подробную страницу трейлера. На подробной странице кроме заголовка и постера должно быть описание трейлера и ссылка на источиник, а так же ссылка для возврата к странице списка;
- имейте в виду, что приложение будет разворачиваться и тестироваться на независимом хосте — у вас должно быть описано, как запустить обновление БД и импорт данных;
- будьте готовы объяснить ваше решение.
- Выполните все этапы для middle;
- предложите другую схему получения rss и преобразования полученного в итоговый класс;
- предожите схему валидации полей сущностей;
- добавьте пользователей;
- реализуйте отметки «Нравится» для загруженных трейлеров;
- напишите тесты;
- По возможности используйте docker для запуска приложения. Docker-compose.yaml готов к использованию;
- для получения данных лучше всего использовать RSS Feed сервиса;
- не увлекайтесь внешним оформлением, но и не забывайте про него. Элементы должны быть расположены логично;
- обращайте внимание на наличие (и обход) потенциальных ошибок;
- ищите, что написано неправильно, исправляйте, если считаете нужным;
- операции импорта должны быть идемпотентны;
- используйте любые composer-пакеты на свой вкус.
Будет оцениваться качество кода, цикломатическая сложность методов, стиль кода и суть предложенных решений. Любое исправление существующих ошибок даёт преимущество, любое изменение архитектуры в целом в лучшую сторону — ещё большее преимущество. Естественно, мы будем смотреть историю коммитов и изменений кода в процессе выполнения задачи.
Если вы не доделали задачу — покажите, что сделали, объясните, что планировалось и на чем застряли (если застряли). Если у вас есть предложения или комментарии по сути подобного проекта — обязательно опишите их, это так же будет преимуществом.
Ваш код должен быть выгружен в любой общедоступный репозиторий и снабжен README-файлом, в котором вы опишете свою работу и инструкции, как запустить ваш проект.
Ваша история коммитов покажет, как вы работали над заданием: к примеру, один коммит с заголовком, не отражающим сути работы, является недостатком.
Тестовые задания в виде архивов, ссылок на файловые хостинги и подобном (то есть не репозиторий) рассматриваться не будут. Ссылку на репозиторий и ваше имя необходимо отправить на электропочту [email protected] с темой письма «Тестовое задание».