Files
team-planner/REQUIREMENTS.md
2025-12-29 16:58:56 +03:00

153 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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-запросов
---
## Открытые вопросы
1. Нужна ли многопользовательская работа и разграничение прав?
НЕТ
2. Требуется ли история изменений (audit log)?
НЕТ
4. Нужен ли экспорт данных (CSV, Excel)?
НЕТ
5. Интеграция с внешними системами (Jira, Trello)?
НЕТ