end fase 2
This commit is contained in:
39
CONTEXT.md
39
CONTEXT.md
@ -6,9 +6,9 @@
|
||||
|
||||
## Текущий статус
|
||||
|
||||
**Этап:** Фаза 2 — Drag & Drop ✅, Авторизация ✅, далее цвета/комментарии/команда
|
||||
**Фаза MVP:** Базовый функционал + авторизация готовы
|
||||
**Последнее обновление:** 2026-01-14
|
||||
**Этап:** Фаза 2 завершена ✅, E2E тесты готовы ✅, далее Фаза 3 (AI-интеграция)
|
||||
**Фаза MVP:** Базовый функционал + авторизация + расширенный функционал готовы
|
||||
**Последнее обновление:** 2026-01-15
|
||||
|
||||
---
|
||||
|
||||
@ -49,6 +49,15 @@
|
||||
| 2026-01-14 | **Infra:** Добавлен KEYCLOAK_REALM_URL в k8s/backend-deployment.yaml |
|
||||
| 2026-01-14 | **Keycloak Theme:** Кастомная тема для Keycloak (MUI стиль) — keycloak-theme/ |
|
||||
| 2026-01-14 | **CI/CD:** Добавлены steps build-keycloak-theme и deploy-keycloak-theme в .drone.yml |
|
||||
| 2026-01-14 | **Фаза 2:** Цветовая маркировка — ColorPickerCell, цветной фон строки, фильтр по цвету |
|
||||
| 2026-01-14 | **Фаза 2:** Комментарии — backend модуль (entity, service, controller, миграция), frontend (CommentsPanel, раскрывающаяся панель) |
|
||||
| 2026-01-14 | **UX:** Хук useAuth для данных пользователя, имя в header, автор комментариев из Keycloak |
|
||||
| 2026-01-14 | **Фаза 2:** Управление командой — backend (TeamMember entity, CRUD, summary), frontend (TeamPage, табы навигации) |
|
||||
| 2026-01-14 | **Фаза 2:** Динамические роли — Role entity вместо enum, CRUD API (/api/roles), RolesManager UI, миграция данных |
|
||||
| 2026-01-15 | **Testing:** E2E тесты Фазы 2 (Playwright) — 54 теста покрывают D&D, цвета, комментарии, команду |
|
||||
| 2026-01-15 | **Testing:** Рефакторинг тестов на data-testid — стабильные селекторы вместо tbody/tr/.nth() |
|
||||
| 2026-01-15 | **Testing:** Добавлены data-testid во все компоненты фронтенда (IdeasTable, TeamPage, CommentsPanel и др.) |
|
||||
| 2026-01-15 | **Docs:** Создан E2E_TESTING.md — гайд по написанию e2e тестов, соглашения по data-testid |
|
||||
|
||||
---
|
||||
|
||||
@ -56,7 +65,7 @@
|
||||
|
||||
> Смотри [ROADMAP.md](ROADMAP.md) для полного плана разработки
|
||||
|
||||
**Сейчас:** Фаза 2 — цветовая маркировка, комментарии, управление командой
|
||||
**Сейчас:** Фаза 2 завершена ✅ — далее Фаза 3 (AI-интеграция)
|
||||
|
||||
---
|
||||
|
||||
@ -70,6 +79,7 @@ team-planner/
|
||||
├── REQUIREMENTS.md # Требования к продукту
|
||||
├── ARCHITECTURE.md # Архитектура, API, UI
|
||||
├── ROADMAP.md # План разработки
|
||||
├── E2E_TESTING.md # Гайд по E2E тестированию ✅
|
||||
├── docker-compose.yml # PostgreSQL и сервисы
|
||||
├── .drone.yml # CI/CD pipeline (Drone CI)
|
||||
├── keycloak-theme/ # Кастомная тема Keycloak ✅
|
||||
@ -84,10 +94,10 @@ team-planner/
|
||||
├── tests/
|
||||
│ ├── package.json # Зависимости для тестов
|
||||
│ ├── playwright.config.ts # Конфигурация Playwright
|
||||
│ └── e2e/ # Playwright E2E тесты
|
||||
│ └── e2e/ # Playwright E2E тесты (54 теста) ✅
|
||||
│ ├── auth.setup.ts # Авторизация для тестов (Keycloak)
|
||||
│ ├── phase1.spec.ts # Тесты Фазы 1 (11 тестов)
|
||||
│ └── phase2.spec.ts # Тесты Фазы 2 (D&D, цвета, комментарии, команда)
|
||||
│ ├── phase1.spec.ts # Тесты Фазы 1 (17 тестов)
|
||||
│ └── phase2.spec.ts # Тесты Фазы 2 (37 тестов — D&D, цвета, комментарии, команда)
|
||||
├── backend/ # NestJS API
|
||||
│ ├── src/
|
||||
│ │ ├── auth/ # Модуль авторизации ✅
|
||||
@ -99,7 +109,7 @@ team-planner/
|
||||
│ │ │ │ └── reorder-ideas.dto.ts # DTO для изменения порядка
|
||||
│ │ │ ├── ideas.controller.ts # PATCH /ideas/reorder
|
||||
│ │ │ └── ideas.service.ts # reorder() с транзакцией
|
||||
│ │ ├── team/ # Модуль команды (Фаза 2)
|
||||
│ │ ├── team/ # Модуль команды (Фаза 2) — TeamMember + Role entities
|
||||
│ │ ├── comments/ # Модуль комментариев (Фаза 2)
|
||||
│ │ └── ai/ # AI-оценка (Фаза 3)
|
||||
│ └── ...
|
||||
@ -114,13 +124,21 @@ team-planner/
|
||||
│ │ │ ├── columns.tsx # Колонки + drag handle
|
||||
│ │ │ └── ...
|
||||
│ │ ├── IdeasFilters/ # Фильтры
|
||||
│ │ └── CreateIdeaModal/ # Модалка создания
|
||||
│ │ ├── CreateIdeaModal/ # Модалка создания
|
||||
│ │ ├── TeamPage/ # Страница команды (Фаза 2)
|
||||
│ │ │ ├── TeamPage.tsx # Табы: Участники / Роли
|
||||
│ │ │ ├── TeamMemberModal.tsx # Модалка участника
|
||||
│ │ │ └── RolesManager.tsx # Управление ролями
|
||||
│ │ └── CommentsPanel/ # Комментарии к идеям
|
||||
│ ├── hooks/
|
||||
│ │ └── useIdeas.ts # React Query хуки + useReorderIdeas
|
||||
│ ├── services/
|
||||
│ │ ├── api.ts # Axios + auth interceptors
|
||||
│ │ ├── keycloak.ts # Keycloak instance ✅
|
||||
│ │ └── ideas.ts # API методы + reorder()
|
||||
│ │ ├── ideas.ts # API методы + reorder()
|
||||
│ │ ├── team.ts # API команды
|
||||
│ │ ├── roles.ts # API ролей
|
||||
│ │ └── comments.ts # API комментариев
|
||||
│ ├── store/
|
||||
│ │ └── ideas.ts # Zustand store
|
||||
│ └── types/
|
||||
@ -166,3 +184,4 @@ team-planner/
|
||||
- **Keycloak Theme:** Кастомная тема `team-planner` в стиле MUI, образ `registry.vigdorov.ru/library/keycloak-team-planner`
|
||||
- **Production URL:** https://team-planner.vigdorov.ru (добавлен в Valid redirect URIs и Web origins клиента Keycloak)
|
||||
- **CI/CD:** Drone CI (.drone.yml) — сборка backend/frontend/keycloak-theme, деплой в K8s namespace `team-planner`
|
||||
- **E2E тесты:** Все компоненты имеют `data-testid` для стабильных селекторов. Перед написанием тестов читай E2E_TESTING.md!
|
||||
|
||||
Reference in New Issue
Block a user