# ТЗ · Pulse — командный трекер задач

**Источник заказа:** FL.ru, проект №4523171 «Разработка трекера задач»
https://www.fl.ru/projects/4523171/razrabotka-trekera-zadach.html

**Бюджет заказа:** 300 000 ₽ (по заказу — от 300 000 до 999 999 ₽)
**Тип трекера:** командный трекер задач (проекты, спринты, роли)

## 1. Цель
Заменить таблицы и переписки одним рабочим пространством: проекты, задачи, исполнители, сроки, оценка трудозатрат и прозрачный статус. Клиент прислал детальное ТЗ и дизайн в Figma — значит, MVP должен быть максимально близок к «взрослому» продукту, но без серверной части на этапе проверки гипотезы.

## 2. Роли
| Роль | Возможности |
|---|---|
| Владелец пространства | проекты, участники, права, удаление |
| Менеджер проекта | задачи, спринты, назначение, отчёты |
| Исполнитель | свои задачи, статусы, комментарии, часы |
| Наблюдатель | только чтение и отчёты |

## 3. Экраны
1. **Обзор** — мои задачи, просрочки, загрузка команды, прогресс спринта.
2. **Проекты** — список проектов с прогрессом, владельцем и дедлайном.
3. **Канбан** — колонки по статусам, фильтр по проекту/исполнителю/приоритету, WIP-лимит.
4. **Список** — таблица с сортировкой, группировкой, массовыми действиями.
5. **Спринт** — burndown, ёмкость команды, задачи вне спринта.
6. **Отчёт** — время по исполнителям и проектам, оценка vs факт.

## 4. Функции MVP
- Проекты: название, код, цвет, участники, дедлайн.
- Задачи: заголовок, описание, проект, исполнитель, статус, приоритет, оценка (часы), факт (часы), дедлайн, теги, чек-лист.
- Статусы: `backlog → todo → progress → review → done`, WIP-лимит на «В работе».
- Спринт: выбор активного спринта, ёмкость, burndown-график по дням.
- Комментарии к задаче с автором и временем.
- Учёт времени: добавить часы, история.
- Отчёты: загрузка по людям, план/факт, просроченные.
- Роли и права: исполнитель не удаляет чужие задачи, наблюдатель только читает.
- Поиск, фильтры, сохранение в localStorage, экспорт CSV/JSON.

## 5. Критерии готовности
1. Задача создаётся в проекте, появляется на канбане и в списке.
2. WIP-лимит не даёт перетащить шестую задачу в «В работе» (лимит 5).
3. Исполнитель видит свои задачи в «Обзоре» и не может удалить чужую.
4. Факт времени суммируется из записей и отражается в отчёте.
5. Burndown строится по оставшимся часам и дням спринта.
6. Наблюдатель не может менять данные ни в одном экране.
7. После перезагрузки сохраняются задачи, проекты и записи времени.

## 6. Вопросы клиенту
1. Сколько команд и проектов одновременно? Нужны ли вложенные пространства?
2. Спринты фиксированной длины (1/2 недели) или свободный график?
3. Нужны ли зависимости между задачами и блокировки?
4. Кто может менять оценку после старта — менеджер или исполнитель?
5. Нужен ли экспорт в Jira/YouTrack или импорт из CSV?
6. Какие уведомления критичны: email, Telegram, in-app?

## 7. Ограничения MVP
Клиентское приложение без backend: данные в localStorage, «команда» — предзаполненный список. Серверная часть на PHP + React, авторизация и права — следующий этап, контракт API описан в `info/api.md`.
