Фронтенд календаря задач исполнителей

100 000 руб. за проект
27 августа 2020, 15:33 • 20 откликов • 143 просмотра
Необходимо разработать фронтенд календаря задач исполнителей.

1. Авторизация POST /auth. Нужно передать на сервер логин и пароль, в ответ получить и сохранить токен, содержащий данные о пользователе.

2. Запрос списка исполнителей GET /staff. Для каждого пользователя на сервере храниться список исполнителей. Исполнители структурированы по группам, часть может находиться в архиве. По запросу высылается полный список, а также список партнеров и локаций.

3. Редактирование списка:
- добавление, переименование и удаление группы: POST /group, PUT /group, DELETE /group
- перемещение исполнителей между собой в группах или между группами: PUT /user
- перенос исполнителей в архив и восстановление из него в определенную группу: PUT /user/archive, PUT /user

4. Запрос рабочего времени исполнителей GET /worktime?start_time=&end_time=. Высылаются все рабочие интервалы по всем исполнителям из списка пользователя за указанный период.

5. Действия с интервалами:
- добавление. Клик левой клавишей мыши, курсор которой предварительно превращён в инструмент (заданы параметры: партнер, локация, время начала и время конца), на поле рабочего дня определенного исполнителя, должен отправить на сервер запрос POST /WorkTime с соответствующими параметрами.
- редактирование. Клик правой клавишей на поле рабочего времени должен вызвать меню, где можно изменить параметры, и при сохранении передать на сервер PUT /WorkTime
- удаление. При клике правой клавишей, выбрать пункт в меню и отправить на сервер DELETE /WorkTime

6. Запрос задач исполнителей GET /jobs?start_time=&end_time=. Высылаются все задачи по всем исполнителям из списка пользователя за указанный период.
7. Действия с задачами:
- передача от исполнителя к исполнителю, захват и перемещение мышкой. PUT /job
- изменение стадии выполнения задания, правой клавишей мыши. PUT /job


Интерфейс должен:
- иметь два представления: день и неделя
- получать сообщения с сокета и обновлять информацию
- визуально сопоставлять задачу с рабочим временем. Если часть времени задачи попадает между рабочими интервалами, прерывать задачу с соответствующим визуальным оформлением краев.

Для реализации предпочтительно использовать React, TypeScript.

Файлы