Структура репозитория
Полная карта — что и где лежит в проекте
tessora-task-portal/
├── src/ # Весь исходный код приложения
├── prisma/ # Схема БД, миграции, сиды
├── tests/ # Playwright E2E + Vitest unit
├── scripts/ # Вспомогательные скрипты (VAPID, сиды, деплой)
├── docs/ # Внутренние markdown-доки (архитектура, модули)
├── docs-site/ # Этот сайт документации (Fumadocs, отдельное приложение)
├── context/ # AI-контекст для агентов (стандарты, темы, статус)
├── public/ # Статика: иконки, service worker (sw.js)
├── CLAUDE.md # Гайд для Claude Code (setup, how-to, правила)
├── CHANGELOG.md # Release notes (ведётся обязательно)
├── Dockerfile # 3-stage build для Railway
├── docker-compose.yml # Dev-инфраструктура: Postgres, Redis, MinIO
├── railway.json # Конфиг деплоя Railway
├── next.config.ts # Next.js конфиг
├── playwright.config.ts # E2E конфиг
└── vitest.config.ts # Unit-тесты конфиг
src/
├── app/
│ ├── (app)/ # Защищённые страницы (требуют сессию)
│ │ ├── dashboard/ # Главная
│ │ ├── tasks/ # Список задач
│ │ ├── new-task/ # Создание задачи (Smart Selector)
│ │ ├── ready-live/ # Готовый контент
│ │ ├── calendar-live/# Календарь (drag-and-drop)
│ │ ├── references-live/ # Референсы
│ │ ├── safebot/ # Instagram downloader
│ │ ├── team/ # Страницы Monster Team (dashboard, queue, calendar, notifications)
│ │ ├── admin/ # Админ-панель
│ │ ├── ai/ # Управление AI (super_admin)
│ │ └── ... # остальные — см. «Страницы приложения»
│ ├── api/ # HTTP API — Route Handlers (60+ endpoints)
│ ├── login/ # Публичная: вход
│ ├── forgot-password/ # Публичная: восстановление пароля
│ ├── invite/accept/ # Публичная: принятие приглашения
│ ├── layout.tsx # Root layout
│ ├── globals.css # Глобальные стили + 8 цветовых тем
│ └── page.tsx # Редирект на /dashboard или /login
├── components/ # React-компоненты по доменам (25+ папок)
│ ├── ui/ # UI Kit: Button, IconButton, Pagination, …
│ ├── sidebar/ # Sidebar, UserMenu, nav-config.ts (навигация по ролям)
│ ├── new-task/ # Форма задачи, Smart Selector, загрузка материалов
│ ├── ready/ # Готовый контент: карточки, приемка, ревизии
│ ├── references/ # Галерея референсов
│ ├── calendar/ # Календарь + dnd
│ ├── safebot/ # Очередь скачиваний, promotion
│ └── ...
├── hooks/ # React-хуки (пагинация, уведомления, push, каталог)
├── lib/ # Бизнес-логика (см. ниже)
├── stores/ # Zustand-сторы (safebot-status)
└── proxy.ts # Next.js middleware: проверка сессии + редиректы
| Модуль | Назначение |
|---|
lib/auth/ | Better Auth + RBAC: permissions.ts (56 ключей, матрица ролей), with-permission.ts (guard для API), use-permissions.ts (хук UI), redirects.ts (доступ к страницам), rbac.ts |
lib/ai/ | AIService: мультипровайдер (Gemini/OpenAI/Template), промпты, бюджет, providers/ |
lib/storage/ | S3-клиент (r2.ts): presigned URLs, публичные URL, удаление |
lib/api/ | http.ts (safeHandler, jsonOk/jsonError, Zod-парсинг), scope.ts (multi-tenancy), hooks/ (TanStack Query хуки) |
lib/notifications/ | 3 канала: create.ts (in-app + хелперы notifyMonsterTeam()), push.ts (Web Push), telegram.ts |
lib/audit/ | log.ts — журналирование всех мутирующих действий |
lib/queue/ | BullMQ: safebot-queue.ts |
lib/catalog/ | Smart Selector: ключи вкладок каталога |
lib/calendar/ | Логика слотов и переносов календаря |
lib/data/ | Статический fallback каталога (task-catalog.ts) |
lib/seed-data/ | Данные для сидов (референсы) |
prisma/
├── schema.prisma # 34 модели, 14 enums
├── migrations/ # 24 миграции (с 2026-05-31)
├── seed.ts # Полный сид: users, companies, permissions, references, catalog, demo tasks
└── seed-catalog.ts # Только каталог Smart Selector
| Скрипт | Назначение |
|---|
generate-vapid-keys.ts | Генерация VAPID-ключей для Web Push |
cleanup-e2e.ts | Очистка данных после E2E |
seed-local-references.ts | Сид референс-видео в локальный MinIO |
seed-references-with-video.ts | Сид референсов с видео |
seed-test-tasks.js | Демо-задачи |
migrate-on-deploy.sh | Railway deploy hook: prisma migrate deploy && node server.js |
docs/SYSTEM-OVERVIEW.md — бизнес-логика, роли, workflow.
docs/ARCHITECTURE.md — tech stack, how-to guides.
docs/NOTIFICATIONS.md, docs/PAGINATION.md, docs/CALENDAR.md, docs/ONBOARDING.md, docs/TOAST.md — модульные доки.
docs/v7.6/, docs/google-docs/ — дизайн-доки версии 7.6 (Smart Selector, Content Maker).
context/ — контекст для AI-агентов: architecture.md, code-standards.md, ui-context.md, ai-workflow-rules.md, progress-tracker.md, findings.md.