Skip to content

rommeA/cm_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

Тестовое задание в команду Crew Master

Соберите с помощью Laravel каталог сотрудников (пользователей) крюинговой компании по следущим требованиям. Если вы позиционируете себя как full-stack разработчик, пожалуйста, выполните также первое дополнительное задание.


Необходимые сущности:

  1. Должность: id, идентификатор подразделения, название
  2. Сотрудник: id, ФИО, email, тип сотрудника, идентификатор должности.
  3. Возможные типы сотрудника: действующий офисный сотрудник, архивный офисный сотрудник, действующий моряк, архивный моряк, моряк-соискатель.

Требования:

  • Реализуйте механизм авторизации для всех пользователей (сотрудников).
  • Заполните базу данных фейковыми данными (используя сидеры или другие механизмы).
  • Для всех сущностей необходимо описать CRUD-операции.
  • Реализуйте эндпоинт для поиска сотрудника по имени/фамилии/email.
  • Реализуйте отображения следующих страниц (фронт-энд часть на уровне ваших возможностей): список офисных сотрудников, список архивных офисных сотрудников, список моряков, список архивных моряков, карточка сотрудника.
  • Интегрируйте в проект Swagger.

Дополнительное задание (front-end часть):

Реализуйте создание сотрудника, редактирование и удаление. Операции редактирования и удаления должны быть доступны из карточки сотрудника, из списка - на ваше усмотрение. Для отображения списков сотрудников используйте пагинацию и datatables (или любой другой удобный для вас инструмент). Реализуйте фильтрацию сотрудников по отделам и должностям. А также поиск сотрудников по имени, фамилии, email.

В качестве html-шаблона можете использовать следующие репозитории (не обязательно): voler, mazer


Дополнительное задание (observers & events):

При изменении должности или типа сотрудника необходимо отправлять этому сотруднику email с содержанием:

[имя_сотрудника], ваши данные были изменены. Новый тип сотрудника [тип], новая должность [должность].

Желательно использовать mailhog.


Требования к оформлению результата

Результат присылайте в виде репозитория в GitHub с инструкцией по запуску. Бонусом будет, если проект будет запускаться через docker compose (можно использовать laravel sail).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published