153 lines
6.6 KiB
Markdown
153 lines
6.6 KiB
Markdown
# 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)?
|
||
НЕТ
|