Контекст
Для эффективного управления разработкой необходимо расширить систему от простых задач до управления ресурсами команд. Внедрение логики команд позволит группировать пользователей, отслеживать их доступность (отпуска, больничные) и текущую нагрузку. Добавление визуализации активности (Activity Graph), аналогичного GitHub, обеспечит прозрачность рабочего процесса и поможет в выявлении «бутылочного горлышка» в распределении задач.
Технические требования
- Локация логики:
src/teams, src/analytics
- Инструменты: PostgreSQL (TimeScaleDB или агрегатные таблицы), CASL (для прав внутри команды), библиотеки графиков (для фронтенда).
- Логика работы:
- Реализовать сущность
Team и таблицу связей TeamMembers с ролями (Leader, Member).
- Разработать модуль
Presence: поля vacation_start, vacation_end, is_unavailable в профиле пользователя или отдельной таблице.
- Создать агрегатор нагрузки (Workload): расчет соотношения активных задач (в статусе
IN_PROGRESS) к общему числу Story Points пользователя.
- Реализовать сервис
ActivityLog: запись событий (commit-like events) при каждом изменении статуса задачи или создании комментария.
- Подготовить API для отдачи данных в формате
date: count для построения графика активности (Heatmap).
Цель и критерии приемки (Definition of Done)
Важные указания
- Производительность: Лог активности может быстро расти; необходимо предусмотреть партиционирование таблицы
activity_logs по датам.
- Ошибки: При попытке назначить задачу на пользователя в отпуске возвращать
Warning в теле ответа или блокировать операцию (в зависимости от настроек команды).
- Безопасность: Данные об отпусках и личной активности должны быть доступны только внутри команды или администраторам согласно правилам
CASL.
Контекст
Для эффективного управления разработкой необходимо расширить систему от простых задач до управления ресурсами команд. Внедрение логики команд позволит группировать пользователей, отслеживать их доступность (отпуска, больничные) и текущую нагрузку. Добавление визуализации активности (Activity Graph), аналогичного GitHub, обеспечит прозрачность рабочего процесса и поможет в выявлении «бутылочного горлышка» в распределении задач.
Технические требования
src/teams,src/analyticsTeamи таблицу связейTeamMembersс ролями (Leader,Member).Presence: поляvacation_start,vacation_end,is_unavailableв профиле пользователя или отдельной таблице.IN_PROGRESS) к общему числу Story Points пользователя.ActivityLog: запись событий (commit-like events) при каждом изменении статуса задачи или создании комментария.date: countдля построения графика активности (Heatmap).Цель и критерии приемки (Definition of Done)
teams,team_members,user_presenceиactivity_logs.ActivityLogс существующими сервисами задач черезDomain EventsилиHooks.Важные указания
activity_logsпо датам.Warningв теле ответа или блокировать операцию (в зависимости от настроек команды).CASL.