задание на знание фреймверка Laravel и Best Practices при работе с ним:
Необходимо создать приложение, по созданию постов, с разграниченными публичными и админ частями. Приложение должно состоять из следующих секций:
BACK END:
• User Management – секция управления пользователями, должно быть как минимум 2 роли: Admin и Moderator. Admin может создавать пользователей с любой ролью, полный CRUD по работе с постами. Moderator – доступа в эту секцию не имеет. После создания нового пользователя ему должен отправляться email с доступом в приложение. Письма можно класть в файл логов или использовать тестовые почтовые системы (https://mailtrap.io/).
• Post Management – секция управления постами. Admin – неограниченные права, Moderator – полный CRUD по постам, где создателем постов является этот модератор. Пост должен состоять как минимум из следующих полей: title, description, date, image.
FRONT END:
• Authorization – авторизация пользователей (можно воспользоваться решением “из коробки”). • Posts – просмотр постов с возможностью фильтрации (search by title, description, date etc.) и сортировки. Посты должны отображаться в хронологическом порядке с учетом, что посты c будущей датой скрыты до наступления времени указанного в поле date.
Критично важные моменты:
• Приложение должно быть развернуто в Docker containers • Использование репозиториев • Использование широкого спектра возможностей, которые придоставляет фреймверк • Code style – PSR2 • GitHub as a storage