- Развернуть фреймворк Laravel (минимум 8 версия)
- Сделать сущности (таблицы): Пользователь, Отдел, Должность Пользователь может быть в нескольких отделах, но при этом иметь только одну должность (использовать связи)
- Должна быть возможность добавлять, удалять, изменять.
- Для пользователя должна быть возможность загружать фото
- Выводить данные в виде таблицы, можно использовать готовые css фреймворки, например Bootstrap, Uikit, TailWind
- Сделать распределение прав пользователей. Админ, Менеджер, Юзер. Админ - имеет все права Менеджер - может изменять данные, добавлять данные, но не может удалять записи Юзер - может только просматривать данные
- Формат даты дд.мм.гггг
- Ход работ отображать коммитами в системе контроля версий git.
- Для демонстрации результата работы использовать один из популярных репозиториев GitHub, BitBucket или др.
Для возможности создания логики в системе, её усложнения, добавляю в задание некие юзкейзы
У нас есть два основных состояния - нанятые сотрудники и в процессе найма
В жизненном цикле сотрудника могут быть следующие события/юзкейзы
- переатестация
- изменение должности и отдела
- увольнение
- уход в отпуск и на больничный
- коммандировка
какие части могут меняться со временем:
можно добавить рассылку уведомлений
Есть еще процесс найма, в котором мы работаем с Кандидатом на роль сотрудника Т.е. у нас есть кандидаты, которых мы проводим по процессу найма процесс найма может быть допустим таким:
- создание вакансии
- выделение требований
- получение резюме
- выделение навыков
- выделение контактов
- проверка резюме на соответствие необходимым навыкам
- HR-собеседование
- собеседование на знание английского языка
- техническое собеседование
- принятие коллегиального решения о предложении сотруднику, либо отказе
какие части могут меняться со временем:
- порядок шагов процесса
- не все шаги могут быть обязательными
- изменения в формах документов