6.6 KiB
6.6 KiB
Team Planner - Требования к приложению
Описание продукта
Приложение для команды разработки, позволяющее собирать бэклог идей, приоритизировать его, проводить брейнштормы, оценивать задачи и оставлять комментарии.
Функциональные требования
1. Управление идеями
1.1 Список идей
Таблица со следующими полями для каждой идеи:
| Поле | Описание | Тип |
|---|---|---|
| Статус | Текущее состояние идеи (Новая, В обсуждении, Одобрена, В работе, Готово, Отклонена) | Enum |
| Приоритет | Важность идеи (Критический, Высокий, Средний, Низкий) | Enum |
| Модуль | Где реализуется (Frontend, Backend, AI, Mobile, Infrastructure, Other) | Enum/Multi-select |
| Суть идеи | Краткое описание идеи | Text |
| Для кого | Целевая аудитория / пользователь | Text |
| Какую боль решает | Проблема, которую решает идея | Text |
| Роль AI | Что делает ИИ в рамках этой идеи (если применимо) | Text |
| Способ проверки | Быстрый способ валидации идеи / MVP | Text |
| Комментарии | Обсуждение и заметки | Text (список комментариев) |
| Цвет | Цветовая маркировка строки | Color |
| Оценка времени | AI-генерируемая оценка трудозатрат | Calculated |
1.2 Редактирование идей
- Inline-редактирование: возможность редактировать любое поле прямо в таблице двойным кликом
- Быстрое изменение статуса и приоритета через dropdown
- Автосохранение изменений
1.3 Drag & Drop
- Перемещение идей в списке для ручной сортировки
- Визуальная индикация при перетаскивании
- Сохранение порядка после перемещения
1.4 Цветовая маркировка
- Возможность назначить цвет строке для визуального выделения
- Предустановленная палитра цветов
- Фильтрация по цвету
2. Сортировка и фильтрация
2.1 Сортировка
- По любому полю (клик на заголовок колонки)
- Множественная сортировка (Shift + клик)
- Сохранение настроек сортировки
2.2 Фильтры
- Фильтр по статусу
- Фильтр по приоритету
- Фильтр по модулю
- Фильтр по цвету
- Текстовый поиск по всем полям
- Сохранение пресетов фильтров
3. AI-оценка времени
3.1 Управление командой
- Список членов команды с ролями:
- Backend-разработчик
- Frontend-разработчик
- AI/ML-инженер
- Аналитик
- Тестировщик (QA)
- DevOps
- Дизайнер
- Project Manager
- Количество сотрудников каждой роли
3.2 Матрица производительности
Для каждого сотрудника/роли указывается время на задачи разной сложности:
| Сложность | Описание | Пример времени |
|---|---|---|
| Trivial | Тривиальная задача | 1-2 часа |
| Easy | Лёгкая задача | 0.5-1 день |
| Medium | Средняя задача | 2-3 дня |
| Hard | Сложная задача | 1-2 недели |
| Epic | Эпик / большая фича | 2-4 недели |
3.3 AI-функционал
- Анализ описания идеи
- Определение необходимых ролей для реализации
- Оценка сложности для каждой роли
- Расчёт общего времени с учётом состава команды
- Рекомендации по оптимизации
4. Комментарии
- Добавление комментариев к идее
- Ответы на комментарии (треды)
- Упоминание участников (@mention)
- История комментариев
Технические требования
Backend (NestJS)
Стек технологий
- Framework: NestJS
- Language: TypeScript
- Database: PostgreSQL
- ORM: TypeORM
- API: REST + WebSocket (для real-time обновлений)
- AI Integration: ai-proxy service тут лежит гайд по интеграции /Users/vigdorov/dev/gptunnel-service/INTEGRATION.md
Frontend (React + TypeScript)
Стек технологий
- Framework: React 18+
- Language: TypeScript
- State Management: Zustand
- UI Library: MUI
- Table: TanStack Table (react-table)
- Drag & Drop: dnd-kit / react-beautiful-dnd
- HTTP Client: Axios / React Query
- Styling: Tailwind CSS / CSS Modules
Нефункциональные требования
Производительность
- Виртуализация списка при большом количестве идей (1000+)
- Оптимистичные обновления UI
- Кэширование данных
UX
- Отзывчивый интерфейс (< 100ms на действие)
- Keyboard shortcuts для частых операций
- Responsive design (desktop-first)
Безопасность
- Валидация входных данных
- Rate limiting для AI-запросов
Открытые вопросы
- Нужна ли многопользовательская работа и разграничение прав? НЕТ
- Требуется ли история изменений (audit log)? НЕТ
- Нужен ли экспорт данных (CSV, Excel)? НЕТ
- Интеграция с внешними системами (Jira, Trello)? НЕТ