Сделать трекер, отслеживающий текущее состояние созависимых задач. Необходимо оценивать риски каждой задачи и в удобном формате помечать пользователю, какие опасности ему и его команде угрожают на данный момент. Что это подразумевает:
- Реализация алгоритма вычисления рисков, учитывающего созависимость задач
- Удобный и понятный интерфейс пользователя
- Формирование и отправка отчета об угрозах срыва дедлайнов на почту
- Парсинг задач из excel-файлов
- Представление задач проекта в виде графа
Что такое созависимые задачи? Допустим, вам надо поставить себе новый шкаф до 22 апреля. Тогда задачи:
- Заказать шкаф
- Доставить домой
- Собрать шкаф
Вам не смогут доставить шкаф, пока вы его не закажете. И вы абсолютно точно не сможете собрать шкаф до тех пор, пока служба доставки не доставит его вам. Это и есть созависимые задачи.
Поэтому если доставку задержат и шкаф сможет приехать только 23 апреля, вы не сможете собрать его до 22 числа. И так, наша задача - рассчитать подобные риски и уведомить о них пользователей.
Мы основывались на 3 критериях:
- Процент выполнения
- Трудозатраты (длительность) задачи
- Дедлайн
Так как нам даются задачи и ее зависимости, мы можем построить ориентированный граф. А далее запустить в нем поиск в глубину и на основании основных критериев, помечать задачи их уровнем риска. Если есть еще 2 дня в запасе - уровень риска первый, если мы не успеем до дедлайна - риск второго уровня. Вот как это помечается у пользователя:
За 2 дня реализовали аутентификацию, парсинг excel-файлов, алгоритм вычисления рисков и отправку отчета на почту. Задизайнили практически все приложение, реализовали основные эндпоинты на бэкенде и главную страницу на фронтенде. Вкусно покушали и хорошо провели время :)
Победили в номинации "Самое нестандартное решение" 🥳