Skip to content

Latest commit

 

History

History
41 lines (33 loc) · 2.31 KB

task.md

File metadata and controls

41 lines (33 loc) · 2.31 KB

Страницы:

Главная со списком новостей:

  • Пиктограмма
  • Название новости (ссылка, ведующая на карточку новости с полным описанием)
  • Дата создания
  • Кнопка удаления новости с подтверждением

Карточка новости:

  • Название новости
  • Дата создания
  • Картинка
  • Полная новость (форматирование не требуется nl2br будет вполне достаточно).

Страница добавления/редактирования новости:

  • Добавление новости
  • Редактирование новости

Техническое описание:

  • Проект на Symfony 4.2.
  • Фронт часть на Vue.js.
  • Ассеты подключить через symfony-encore.
  • Для работы с новостями использовать компоненту FosRestBundle.
  • Создание и редактирование новости необходимо выполнить через FormType с валидаторами.
  • Заголовок новости должен содержать только текст на русском или английском языке, цифры и знаки препинания.
  • Картинка должна иметь размер 130 на 100.
  • Авторизация не требуется (но если вдруг сделаете самую простую, будет плюсом).
  • Удаление должно быть через механизм SoftDelete (SoftDoctrineExtensionsBundle).
  • Картинки к новостям необходимо хранить вне public папки и отдавать с помощью механизма X-Accel-Redirect (Nginx) используя стандартный компонент BinaryFileResponse у Symfony.
  • Написать unit-тест на FormType по новостям.
  • База данных для хранения новостей любая, но проще всего sqlite3.

На выходе:

  • Проект на Symfony
  • Конфиг файл для Nginx