Проект развернут на сайте wyruweso.com (LAMP)
Для выполнения использован фреймворк Laravel 5.5.21
- На главной странице представлена древовидная структура сотрудников с возможностью drag-n-drop изменения начальника у любого из них. Данные подгружаются динамически(lazy load), по 2 уровня вложенности(Подгрузка выполняется с помощью axios). Дерево выводится с помощью рекурсивного компонента Vue.js.
- На странице списка выводится список сотрудников с возможностью сортировки и поиска по всем критериям без перезагрузки страницы(данные обновляются с помощью jquery ajax) с учетом пагинации.
- В разделе для авторизованных выводится список из предыдущего пункта, а также есть возможность просматривать, редактировать и удалять сотрудников. Логин и пароль для входа - [email protected]/testtest
- На страницах редактирования и создания сотрудников есть возможность загрузить фото пользователя(jpg/png). Миниатюра для него создается динамически, в момент загрузки(Использовалась библиотека intervention/image. У изображения дл предпросмотра фиксированная ширина 200px, высота - пропорциональна)
- При удалении сотрудника, начальником всех его подчиненных становится начальник удаленного сотрудника.
- Введен запрет на изменение начальника у сотрудника на его подчиненного(косвенного или прямого) во избежание появления перекрестной зависимости.
- Базы данных созданы с помощью миграций и заполнены с помощью Seeder'а с использованием библиотеки Faker