На Symfony 3.4 написать систему динамических ролей.
Сущности
В приложении должно быть 3 типа сущностей:
Страницы
Авторизация
Администраторская панель *
Сюда пользователь попадает, если у него есть администраторская роль.
Здесь 3 раздела:
Пользователи
Здесь можно добавлять, редактировать и удалять пользователей, так же привязывать к ним роли, которые можно создавать в разделе "Роли".
Роли
Здесь можно создавать, редактировать и удалять роли. В роли можно выбрать следующие уровни доступа:
Проекты Можно добавлять, редактировать, удалять проекты. У проекта 2 редактируемых поля: название и описание, created_at и updated_at.
Список проектов
Сюда обычные пользователи попадают после авторизации. По умолчанию пользователь не имеет доступ к проектам. Он может просматривать и редактировать только в том случае, если к нему привязана роль, которая это позволяет делать и только те проекты, которые прописаны в роли. То, как создавать эти роли написано в пункте 2 про Администраторскую панель.
Заметки
Дизайн вообще не важен, поэтому все минимально. Так, что можно было просто покликать и проверить работу.
Стоит учитывать, что в будущем могут появиться еще сущности, подобные Проектам и в разделе Роли в Администраторской панели выбирать что именно пользователь, которому назначена эта роль, может делать над данными сущностями, к каким конкретно он имеет доступ и т.п. То есть стоит держать это в голове и делать приложение гибким для таких будущих изменений.
Администраторская роль - системная, никто её не создает, она зашита в коде.
Мы хотели бы видеть ссылку на работающее приложение и репозиторий с кодом, как результат решения данного задания.
** Пункт, который отмечен звездочкой (визуальная админская часть) - бонусный, визуальную составляющую можно не делать, главное иметь необходимую логику сущностей в коде.*