112 lines
5.3 KiB
Markdown
112 lines
5.3 KiB
Markdown
# Контекст проекта Team Planner
|
||
|
||
> Этот файл обновляется агентами для передачи контекста. **Обновляй его после каждой значимой работы!**
|
||
|
||
---
|
||
|
||
## Текущий статус
|
||
|
||
**Этап:** Фаза 1 (Frontend) завершена
|
||
**Фаза MVP:** Готов к тестированию базового функционала
|
||
**Последнее обновление:** 2025-12-31
|
||
|
||
---
|
||
|
||
## Что сделано
|
||
|
||
| Дата | Что сделано |
|
||
|------|-------------|
|
||
| 2025-12-29 | Созданы REQUIREMENTS.md, CLAUDE.md, CONTEXT.md |
|
||
| 2025-12-29 | Создан ARCHITECTURE.md (C4, sequences, API, UI prototypes, спецификация) |
|
||
| 2025-12-29 | Создан ROADMAP.md — план разработки по фазам |
|
||
| 2025-12-29 | Создан DEVELOPMENT.md — правила локальной разработки |
|
||
| 2025-12-29 | **Фаза 0:** docker-compose.yml для PostgreSQL |
|
||
| 2025-12-29 | **Фаза 0:** Backend (NestJS + TypeORM + PostgreSQL + class-validator) |
|
||
| 2025-12-29 | **Фаза 0:** Frontend (Vite + React + MUI + Zustand + TanStack + dnd-kit) |
|
||
| 2025-12-29 | **Фаза 1:** Backend Ideas module (entity, DTO, service, controller) |
|
||
| 2025-12-29 | **Фаза 1:** Frontend — API сервис (services/ideas.ts) |
|
||
| 2025-12-29 | **Фаза 1:** Frontend — Zustand store для фильтров и пагинации |
|
||
| 2025-12-29 | **Фаза 1:** Frontend — React Query хуки (useIdeas.ts) |
|
||
| 2025-12-29 | **Фаза 1:** Frontend — IdeasTable с TanStack Table |
|
||
| 2025-12-29 | **Фаза 1:** Frontend — Фильтры (статус, приоритет, модуль, поиск) |
|
||
| 2025-12-29 | **Фаза 1:** Frontend — Inline-редактирование ячеек (double-click) |
|
||
| 2025-12-29 | **Фаза 1:** Frontend — Модалка создания идеи |
|
||
| 2025-12-29 | **Фаза 1:** Frontend — Skeleton loader и empty state |
|
||
| 2025-12-29 | **Фаза 1:** Frontend — Удаление идей |
|
||
| 2025-12-31 | Исправлен баг: Select в inline-редактировании закрывался при клике (MenuProps.disablePortal) |
|
||
| 2025-12-31 | Локализация интерфейса на русский язык |
|
||
|
||
---
|
||
|
||
## Текущая задача
|
||
|
||
> Смотри [ROADMAP.md](ROADMAP.md) для полного плана разработки
|
||
|
||
**Сейчас:** Тестирование Фазы 1, затем Фаза 2 (Drag&Drop, цвета, комментарии)
|
||
|
||
---
|
||
|
||
## Файловая структура
|
||
|
||
```
|
||
team-planner/
|
||
├── CLAUDE.md # Точка входа для агентов
|
||
├── DEVELOPMENT.md # Правила локальной разработки
|
||
├── CONTEXT.md # Этот файл — текущий контекст
|
||
├── REQUIREMENTS.md # Требования к продукту
|
||
├── ARCHITECTURE.md # Архитектура, API, UI
|
||
├── ROADMAP.md # План разработки
|
||
├── docker-compose.yml # PostgreSQL и сервисы
|
||
├── backend/ # NestJS API
|
||
│ ├── src/
|
||
│ │ ├── ideas/ # Модуль идей (готов)
|
||
│ │ ├── team/ # Модуль команды (Фаза 2)
|
||
│ │ ├── comments/ # Модуль комментариев (Фаза 2)
|
||
│ │ └── ai/ # AI-оценка (Фаза 3)
|
||
│ └── ...
|
||
└── frontend/ # React приложение
|
||
├── src/
|
||
│ ├── components/
|
||
│ │ ├── IdeasTable/ # Таблица идей с inline-редактированием
|
||
│ │ ├── IdeasFilters/ # Фильтры
|
||
│ │ └── CreateIdeaModal/ # Модалка создания
|
||
│ ├── hooks/
|
||
│ │ └── useIdeas.ts # React Query хуки
|
||
│ ├── services/
|
||
│ │ ├── api.ts # Axios instance
|
||
│ │ └── ideas.ts # API методы для идей
|
||
│ ├── store/
|
||
│ │ └── ideas.ts # Zustand store
|
||
│ └── types/
|
||
│ └── idea.ts # TypeScript типы
|
||
└── ...
|
||
```
|
||
|
||
---
|
||
|
||
## Ключевые решения
|
||
|
||
| Решение | Выбор | Причина |
|
||
|---------|-------|---------|
|
||
| ORM | TypeORM | Указано в требованиях |
|
||
| State Management | Zustand | Простота, минимальный boilerplate |
|
||
| UI Library | MUI | Богатый набор компонентов |
|
||
| Таблица | TanStack Table | Гибкость, виртуализация |
|
||
| Drag & Drop | dnd-kit | Современный, хорошая поддержка |
|
||
| Data Fetching | React Query | Кэширование, оптимистичные обновления |
|
||
|
||
---
|
||
|
||
## Блокеры / Проблемы
|
||
|
||
*Пока нет*
|
||
|
||
---
|
||
|
||
## Заметки
|
||
|
||
- AI-интеграция через ai-proxy: `/Users/vigdorov/dev/gptunnel-service/INTEGRATION.md`
|
||
- Многопользовательский режим НЕ нужен
|
||
- Экспорт и интеграции НЕ нужны
|
||
- Warning о React Compiler и TanStack Table можно игнорировать
|