- Скачать проект с github
- Создать базу занных, прописать соединение с БД, в корне проекта лежит дамп базы данных с названием "library".
- Запустить локальный сервер
- Проект будет доступен по адресу: http://localhost/library
- Из консоли проект можно запустить командой php yii serve --docroot="@app"
блок поиска:
поисковая строка;
кнопка “Искать”:
при клике должен происходить поиск по материалам;
если поисковая строка не пустая, то должны искаться вхождения поисковой строки в название материала, авторах, тегах и категориях;
таблица результатов поиска, со столбцами:
Название - название материала в виде ссылки на просмотр материала;
Авторы - авторы материала;
Тип - тип материала;
Категория - категория материала;
Действия:
Редактирование - при клике должна открываться страница создания и редактирования материала;
Удаление - при клике должно запрашиваться подтверждение удаления, при одобрении должно происходить удаление материала;
На данной странице должны располагаться:
Тип - обязательное, возможен выбор одного значения из перечисления: Типы материала (см. пункт 3 ТЗ);
Категория - обязательное, выпадающий список категорий;
Название - строка, обязательное;
Авторы - необязательное, текстовое;
Описание - необязательное, многострочное;
кнопка “Добавить” - при клике должна происходить валидация формы и если нет ошибок то материал должен сохраниться;
На данной странице должны располагаться:
Заголовок по шаблону: %название%
Автор;
Тип;
Категория;
описание;
блок “Теги”:
панель добавления тега, состоит из:
поле “название тега” - обязательное, выпадающий список из тегов;
кнопка “добавить” - при клике должна происходить валидация, если успешно до должен добавиться тег к материалу;
список добавленных тегов, где каждый элемент состоит из:
название в виде ссылки - при клике должна открываться страница просмотра материалов с поиском по выбранному тегу;
кнопка удаления тега - при клике должно запрашиваться подтверждение удаления, в случае подтверждения тег должен удалиться;
блок Ссылки:
кнопка “Добавить” - при клике должен появиться диалог добавления ссылки;
диалог добавления и редактирования ссылки, состоит из:
Подпись ссылки - не обязательное;
Ссылка - обязательное, в формате url;
кнопка “Добавить” - при клике должна происходить валидация данных и в случае успеха должна добавится ссылка к материалу;
кнопка “Закрыть” - при клике должно закрываться диалоговое окно;
список ссылок, где каждый элемент состоит из:
подпись в виде ссылки (если подпись не задана, то должна выводиться ссылка);
кнопка редактирования - при клике должен открываться диалог добавления и редактирования ссылки;
кнопка удаления ссылки - при клике должно запрашиваться подтверждение удаления, в случае подтверждения ссылка должна удаляться;
На данной странице должны располагаться:
кнопка “Добавить” - при клике должна открываться страница создания и редактирования тега;
список тегов, где каждый элемент состоит из:
название - название тега;
кнопка “Редактировать” - при клике должна открываться страница создания и редактирования тега;
кнопка “Удалить” - при клике должно запрашиваться подтверждение удаления, в случае подтверждения тег должен удалиться;
На данной странице должны располагаться: поле “Название” - обязательное; кнопка “Добавить” - при клике должна происходить валидация данных, если успешна, то тег должен сохраниться и открыться страница списка тегов; На данной странице должны располагаться: кнопка “Добавить” - при клике должна открываться страница создания и редактирования категории; список категорий, где каждый элемент состоит из: название - название категории; кнопка “Редактировать” - при клике должна открываться страница создания и редактирования категории; кнопка “Удалить” - при клике должно запрашиваться подтверждение удаления, в случае подтверждения категория должна удалиться; На данной странице должны располагаться: поле “Название” - обязательное; кнопка “Добавить” - при клике должна происходить валидация данных, если успешна, то категория должна сохраниться и открыться страница списка категорий; выполнять задание можно на Yii2, Laravel или чистом PHP; версию PHP использовать не менее версии 7.4; в качестве базы данных можно использовать MySql или PostgreSql; в работе нужно использоваться систему версионирования кода Git (gitlab.com ,github.com, bitbucket.org); Приветствуется наличие развернутой версии на хостинге и/или описание по развертыванию проекта. Так же приветствуется заполнение проекта тестовыми данными для демонстрации отображения; Типы материала Книга Статья Видео Сайт/Блог Подборка Ключевые идеи книги