init
This commit is contained in:
152
REQUIREMENTS.md
Normal file
152
REQUIREMENTS.md
Normal file
@ -0,0 +1,152 @@
|
||||
# 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)?
|
||||
НЕТ
|
||||
Reference in New Issue
Block a user