Развернуть проект на Yii 2 Backend
Развернуть проект на Yii 2 версии 2.0.46 (advanced-шаблон) и сделать два скрипта, а также CRUD.
Скрипт авторизации в console-части. Принимает логин и пароль - возвращает токен, действующий 5 минут, который нужно использовать для второго скрипта.
Скрипт во frontend-части (поддержка GET, POST). Принимает данные в формате JSON и сохраняет в БД возвращая идентификатор, а также время и память затраченные на обработку и сохранение объекта. Скрипт должен работать исключительно с аутентификацией по токену. Аутентификация должна проходить по заголовку в запросе.
CRUD в backend-части. Отображает все сохраненные с frontend-части объекты в формате JSON с возможностью редактирования и удаления объектов. Добавление объектов с backend-части должно быть исключено. Просмотр должен предусматривать формирование из объекта JSON маркированный HTML-список с поддержкой разворачивания/сворачивания отдельных элементов. Элементы списка должны включать в себя название, тип объекта и значение в случае конца иерархии объектов.
Комментарии:
Второй скрипт должен работать как по GET, так и по POST.
Описание “данные в формате JSON” подразумевает любые данные в формате JSON, включая вложенные массивы во вложенных массивах либо же пустой JSON. Скрипт не должен привязываться к какому-то конкретному JSON-объекту, он должен уметь обрабатывать любые данные в формате JSON.
Весь проект и ход выполнения заданий нужно выложить в репозитории на GitHub, первый коммит - базовый advanced-шаблон Yii 2. Обязательно описать файл README.md - как запустить проект и что он делает на английском, перевод недопустим (!). Также нужно добавить в README.MD пример конфига Nginx для запуска проекта и реализации доступа на сайт по логину и паролю посредством Nginx.
Также необходимо описать минимальный набор тестов, для того чтобы убедиться что ваше приложение работоспособно. Желательно использовать PHPUnit или Codeception.
Перед выполнением тестового задания составить план работ/модулей которые надо реализовать. Дать оценку времени, которое будет затрачено на каждый из пунктов. Оформить каждый пункт как отдельный коммит. По окончанию реализации задачи записать сколько реально времени было потрачено и комментарий по необходимости.
Должен получиться примерно такой отчет:
Задача Оценка Затрачено Комментарий
Настройка окружения 1 час 40 минут Нашел хорошую инструкцию
Установка фреймворка 20 минут 30 минут Забыл установить composer
03.10.2022 11:22