Перейти к содержанию

Scope backend MVP

Мобильный frontend проектируется как отдельная часть продукта по поручению от 16.09.2026. Его экраны, регистрация, вход, переходы и требования к дизайну описаны в карте мобильного приложения. Исключение frontend ниже относится к границам backend-репозитория.

Актуализация 09.09.2026

Приоритет имеют актуальные решения и перечень модулей. Натальная карта остаётся точным расчётом; нумерология и Human Design включены как LLM-сценарии с точными вспомогательными функциями. Алгоритмы выбирает команда. OpenRouter выбран шлюзом переключения моделей, токен получен. Приняты free/paid и скидка 40% на первый месяц; цена и квоты ещё открыты. Оферта и privacy пока заменяются заглушками для разработки. Матрица судьбы и админ-панель остаются pending.

Ниже сохранены детали предыдущего baseline. Формулировки о natal-only, ожидании алгоритмов от заказчика, неполученном токене, OpenRouter только для eval и неутверждённой скидке заменены решениями от 09.09.2026. Это изменение документации, а не отчёт о готовой реализации.

Текущий scope 09.09.2026

Один ввод данных запускает натальную карту, prompt-сценарии нумерологии и Human Design, затем общий синтез. Точные функции выбирает команда. Матрица судьбы остаётся pending. Админ-панель ожидает уточнения договорного объёма. Сопоставление с исходными milestone находится в списке модулей.

Акторы

  • Гость вводит данные, видит прогресс расчёта, затем обязан зарегистрироваться для просмотра результата.
  • Клиент управляет профилем, получает бесплатные факты, покупает подписку, читает разборы/прогнозы, ведёт цели и заказывает консультацию.
  • Практик самостоятельно регистрируется после обычного OTP-входа, создаёт публичный профиль и управляет заявками. Ручная или автоматическая верификация практика в текущий scope не входит.
  • Системные worker-процессы считают карты, вызывают AI, продлевают подписки, отправляют уведомления и сверяют платежи.

In scope

Идентификация и профиль

  • passwordless OTP по e-mail через Resend до paywall; один flow создаёт нового пользователя либо открывает сессию;
  • шестизначный код, TTL 10 минут, resend interval 60 секунд, максимум 5 попыток и rate limit по e-mail/IP;
  • короткий access token и rotating HttpOnly refresh session; роли client и practitioner;
  • имя, дата/время/место рождения, точность времени, координаты, IANA-таймзона;
  • версии юридических документов; сейчас заглушки оферты/privacy, позднее финальные тексты и фиксация согласий;
  • изменение исходных данных создаёт новую версию расчёта, а не переписывает историю.

Расчёты и бесплатный результат

  • одно окно собирает общий набор исходных данных и запускает только доступные пользователю и включённые для релиза расчётные модули;
  • натальная карта — natal-v1; нумерология и HD — LLM-сценарии с точными функциями через OpenRouter; Матрица судьбы пока не включена в подтверждённый состав;
  • единый lifecycle queued → running → succeeded|failed, повторные попытки и кэш по входному хэшу;
  • бесплатные факты активных систем: планеты/дома/аспекты, а при включённых модулях — числа, тип/центры и арканы; пользователю показывается короткая утверждённая выжимка, а не обязательные отдельные отчёты по каждой системе;
  • базовые данные для визуализации; растровую/интерактивную карту рисует frontend;
  • если точного времени нет, по принятому default считаются только нумерология и Матрица.

Подписка, единый разбор и прогнозы

  • бесплатный лид-магнит и paywall после регистрации; модель поддерживает несколько тарифов/цен, но коммерческий baseline MVP — один основной месячный RUB-тариф;
  • сохранение способа оплаты с явным согласием и повторные списания;
  • entitlement на расширенный разбор, единый маршрут, прогнозы и персональный трекер/советник;
  • AI-генерация по сохранённым фактам активных систем через provider-agnostic port, стабильные оси, кэш и версионирование; итог синтезирует общую картину и не обязан делиться на системные главы;
  • прогноз день/неделя/месяц по отношениям, карьере, финансам и безопасной оси «самочувствие/забота о себе»;
  • отмена автопродления, статусы past-due/expired и read-only история.

Цели и консультации

  • цель или запрос, сфера, текст, срок, статус, check-in и результат;
  • агрегированная статистика без утверждения причинно-следственной связи с прогнозами;
  • публичный каталог одобренных практиков, карточка, фильтры, заявка и статусы;
  • разовая оплата консультации; комиссия и расчёты с практиком после утверждения юридической схемы;
  • история консультаций и ручное согласование времени через поля заявки/переходы статуса, без calendar integration, встроенного чата или раскрытия контактов в публичной карточке.

Операции

  • транзакционные e-mail через Resend, пользовательские preferences и журнал доставки;
  • server-side события воронки и UTM first/last touch;
  • технические логи, метрики, outbox/retry и финансовая сверка без административного API;
  • удаление/анонимизация по запросу с сохранением данных, которые законно нужны для финансового учёта.

Pending scope

  • входит ли Матрица судьбы в первый MVP;
  • точная длина, канал показа и квота бесплатной выжимки;
  • состав paid entitlement, базовая цена, квоты и нужен ли годовой тариф; скидка 40% на первый месяц принята;
  • какие функции трекера/календарного советника входят в MVP;
  • входит ли админ-панель в текущий договор/MVP и, если да, её роли, операции и критерии приёмки.

Около 800 ₽ в месяц и одна–три бесплатные попытки — только ориентиры со звонка; скидка 40% уже утверждена. Их нельзя hardcode-ить до письменного catalog/entitlement decision.

Out of scope

  • мобильное приложение, PWA и любой пользовательский frontend;
  • административная панель в текущем engineering baseline: UI, admin role, /admin API и административный CRUD. Пункт будет пересмотрен только после письменного ответа заказчика по договорному scope;
  • Telegram bot/linking/notifications, push, встроенный календарь, чат и видеосвязь;
  • сегменты аудитории 1 и 3 из PRD, международный/мультиязычный запуск;
  • товары, камни, талисманы, курсы, вебинары, реклама и B2B;
  • синастрия, групповые консультации, геймификация, рефералы, loyalty, promo, чаевые и донаты;
  • ручная и автоматическая верификация практиков, проверка документов и verification workflow;
  • собственное обучение ML-модели;
  • медицинская, психологическая, юридическая или инвестиционная диагностика/рекомендация.

Нефункциональные требования

  • одинаковый нормализованный ввод и версия алгоритма дают byte-stable JSON после канонической сериализации;
  • натальные долготы сверяются минимум на трёх эталонах с расхождением менее 0,5°;
  • денежные суммы хранятся в minor units либо Decimal, но никогда не float;
  • webhooks, платежи, расчёты и генерации идемпотентны;
  • секреты не попадают в БД, ответы API и логи; тело запросов с ПДн не логируется;
  • все даты событий — UTC, пользовательские таймзоны — IANA ID, финансовые отчёты учитывают зону провайдера;
  • доступ к данным клиента проверяется на уровне каждого service use case;
  • AI-ответ всегда связан с версиями входа, промпта, provider/model snapshot и политики безопасности;
  • финансовые переходы, provider events и автоматические повторные операции имеют audit trail.

Метрики пилота

Backend должен позволять считать: шаги воронки по UTM, conversion paywall→payment, M2/M3 renewal, CAC по каналу, выручку и LTV по когорте, долю пользователей с целями, заявки/оплаты/повторы консультаций и bypass-инциденты. Цели старого PRD (30–50 платящих, ≥40% повторов за 60 дней, ≥25% прогноз/дневник, bypass <40%, CAC ≤5 000 ₽ в одном канале) храним как пилотные ориентиры, а не технические SLA.