Найти тему

Часть 14. Errands

Пришел сентябрь. И быстро ушел. Но осталось полностью работающее приложение Errands.

Вид приложения Errands (Поручения). Канбан-доска.
Вид приложения Errands (Поручения). Канбан-доска.

Интересное решение, которое здесь реализовали:

  • Любая заявка - это задача. Каждая задача - это бизнес-процесс. Потому что у него есть начало (документ-триггер). Есть исполнитель. У исполнителя есть набор компетенций (декларативный стиль управления) или инструкций (императивный стиль управления). Есть окончание (документ на выходе).
  • Если процедура выполнения задачи в процессе исполнения подразумевает передачу части своего выполнения другому исполнителю - задача должна дробиться. Для этого реализованы вертикальные и горизонтальные связи между задачами.
  • При вертикальной связи: есть суперзадача, у нее может быть много подзадач. Суперзадача не может получить статус "выполнена" пока не выполнены все подзадачи. У суперзадачи может быть одна или много подзадач. У подзадачи может быть только одна суперзадача.
  • При горизонтальной связи: есть задача-до, у нее может быть много задач-после. Задача-после не может получить статус выполнена, пока не выполнена задача-до. У задачи-до может быть одна или много задач-после. У задачи-после может быть только одна задача-до.
  • Каждая задача может иметь сразу много связей и много ролей.

Для реализации этих принципов была создана структура БД, в которой связи один-ко-многим применяются внутри одной таблицы.

Вид внутри карточки (у этой задачи нет связей с другими задачами)
Вид внутри карточки (у этой задачи нет связей с другими задачами)

В каждой задаче можно делать комментарии. Их увидят все участники задачи.

В каждую задачу можно добавить чек-лист.
В каждую задачу можно добавить чек-лист.

Задача может иметь неограниченное число меток. Эти метки служат для фильтра задач на канбан-доске.

Канбан-доска разбита на зоны. Каждая зона - это статус задачи:

  • Получено
  • Принято
  • Не принято
  • Выполнено
  • Проверено
  • Отказано
  • Утверждено
  • Провалено

Изменить статус задачи можно простым перетаскиванием карточки из одной зоны в другую. (Это мне особенно нравится))). У каждого участника своя роль и ограничения, связанные с этой ролью. Например, исполнитель не может утвердить задачу.

В общем, классное получилось приложение. В нем мы реализовали еще очень много фишек. Но рассказывать про них - это нужно отдельное видео снять))).

Теперь мы с фулстеком задачи ставим уже в Errands. Планирование стало прозрачнее. Появилось понимание - на какой стадии выполнения сейчас находится проект/задача.

Errands не решает задачи, он лишь инструмент, с которым приятно выполнять задачи. А ведь, если приятно - то и настроение лучше, и производительность выше.

"В конце концов, ведь всё ради лайков" ⓒЯндекс.Практикум

Продолжение...