ТTessora Docs

Структура репозитория

Полная карта — что и где лежит в проекте

Корень репозитория

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/ — исходный код

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: проверка сессии + редиректы

src/lib/ — модули бизнес-логики

МодульНазначение
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/

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

scripts/

СкриптНазначение
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.shRailway deploy hook: prisma migrate deploy && node server.js

docs/ и context/ — внутренние доки

  • 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.

On this page