Внутренняя карта проекта
Этот раздел описывает фактическое устройство RetentionPlay. Статусы будущих задач здесь не ведутся: каноническая карта документации находится в docs/README.md.
Одна учётная запись администратора предназначена одному человеку. Совместный вход нескольких сотрудников под одной учётной записью не поддерживается: журнал действий определяет учётную запись, а не человека за ней. Приглашения и управление участниками не реализованы. Сессии и смена пароля описаны в API, правила для интегратора — в безопасности интеграции.
Структура репозитория
backend/ Rust workspace
crates/api HTTP-методы, сервисы, фоновые задачи, авторизация и БД
crates/core доменные типы и ключи Dragonfly
crates/adapters GameMechanic, старые адаптеры и SpecEngine
migrations миграции Postgres через SQLx
frontend/ React-админка
games/ клиент игр: оболочка, механики, e2e (TypeScript, Phaser, Vite)
widget/ существующий loader и старые bundle.js
sdk/ JavaScript, PHP и Python
integrations/ WordPress и Shopify
demo-site/ локальная ручная проверка виджета
start/ Docker Swarm и Traefik
deploy/ заготовка Kubernetes
landing/ маркетинговый лендинг
docs/ текущая внутренняя спецификация и отделённый архив
docs-site/ этот VitePress-сайтНовые игры живут в games/ и backend/crates/adapters; в старом widget/templates/ новые игры не создаются.
Разделы
Движок: SpecEngine, реестр адаптеров, FraudGate, прогресс
Источники истины
docs/README.md— единственная точка входа во внутреннюю документацию.docs/plan/2026-09-25/PLAN.md— единственный трекер реализации и статусов.docs/plan/2026-10-01/— пакет игрового направления (лобби, реестр механик, уровни, колесо).docs/plan/2026-08-16/ARCHITECTURE.mdиMATCH3.md— архитектура игрового слоя и правила Match-3.docs/archive/— история, которую нельзя использовать как текущий план.