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

Мобильное приложение: экраны, переходы и дизайн

Дата: 16.09.2026. Основание: обсуждение мобильного frontend и поручение начать дизайн в Figma.

Документ фиксирует проектируемую навигацию. Он не является подтверждением реализации API или готовности макетов. Мобильный клиент — отдельная часть продукта; его появление не означает автоматическое включение всех pending-функций backend.

Источники и рабочий файл

Принципы

  1. Одно приложение, одна учётная запись, режимы клиента и практика. Практик сохраняет роль клиента.
  2. Главный результат — единый разбор. Астрология, нумерология и Human Design не становятся отдельными вкладками.
  3. Клиентская навигация: «Сегодня», «Мой код», «Цели», «Практики», «Профиль».
  4. Регистрация и вход имеют самостоятельные точки входа и используют общий e-mail OTP.
  5. Подписка открывает функции согласно серверным правам доступа; консультации оплачиваются отдельно.
  6. Цены, лимиты, доступные модули и действия приходят с сервера. Не фиксировать ориентир 800 ₽ и 1–3 попытки в макетах как утверждённые условия.
  7. Расчёты и генерации продолжаются после ухода с экрана. Возврат восстанавливает их состояние.

1. Регистрация, вход и запуск

ID Экран Содержание и переходы
A00 Запуск Восстановление сессии; при успехе — состояние аккаунта, иначе A01. Ошибка сети позволяет повторить проверку.
A01 Приветствие «Рассчитать мой код» → O01; «Войти» → A02; «Стать практиком» → A02 с сохранённой целью перехода. Вторичная ссылка «Создать аккаунт» → A02.
A02 E-mail: вход / создание аккаунта Общая форма с текстом по сценарию. При регистрации — ссылки на документы и необходимые согласия. Продолжить → A03.
A03 Подтверждение e-mail Шесть цифр; сменить e-mail → A02; повторная отправка через 60 секунд. Код действует 10 минут, максимум 5 попыток на challenge.
A04 Документы Просмотр конкретного документа и возврат к форме без потери ввода. Заглушки не выдаются за финальное согласие.

Основная регистрация клиента:

A01 → O01 → O02 → O03 → O04 → A02 → A03 → O05 → приложение

После OTP гостевой draft привязывается к аккаунту. Если расчёт ещё идёт, открывается O04, затем O05. Согласия на обработку данных должны быть доступны до отправки данных рождения; точные тексты и версии определяются legal-контрактом.

Прямое создание аккаунта — дополнительный UX-путь: A01 → A02 → A03 → O01. Он требует проверки фактического OTP-контракта без draft. В документации backend это не отдельный endpoint регистрации.

Вход: A01 → A02 → A03 → восстановление состояния аккаунта. Ответ на запрос кода не сообщает, существует ли аккаунт. Если e-mail уже зарегистрирован, используется существующая учётная запись. Паролей, восстановления пароля, телефона и социальных провайдеров в текущем scope нет.

Приоритет маршрутизации после входа:

  1. Сохранённая цель входа: регистрация практика, защищённая ссылка или продолжение оплаты; проверить доступ к объекту.
  2. Незавершённый гостевой онбординг/расчёт — восстановить его.
  3. Последний режим практика, если роль есть — рабочий кабинет.
  4. Для клиента без данных рождения — O01; для остальных — «Сегодня».

Истёкшая подписка не блокирует вход. Повторный вход после истечения сессии возвращает к исходному экрану с сохранением допустимого черновика. Выход — подтверждение в профиле, отзыв сессии, очистка данных аккаунта на устройстве, A01.

2. Онбординг

ID Экран Содержание и переходы
O01 Данные рождения Имя, дата, время, точность времени; «Не знаю время». Далее → O02.
O02 Место рождения Поиск, выбор города из вариантов, пояснение таймзоны. Далее → O03.
O03 Проверка данных Сводка, редактирование, ограничения доступных систем, документы/согласия. Рассчитать → O04.
O04 Расчёт Очередь, выполнение, частичный результат, ошибка и безопасный повтор. Гостю после расчёта → A02; авторизованному → O05.
O05 Бесплатный результат Короткая единая выжимка; «Открыть полный разбор» → B01; «Продолжить» → C01.

Без точного времени показать ограничения до запуска. Human Design недоступен; поведение натальной карты определяется фактическим контрактом. Упоминание Матрицы в старом default не включает её в релиз: Матрица остаётся pending. Сбой одного модуля не должен выглядеть как полный результат всех систем.

3. Клиентские экраны

ID Экран Содержание и переходы
C01 Сегодня Прогноз, ближайший шаг маршрута, активная цель, консультация, незавершённая генерация. Карточки → соответствующие детали.
C02 Прогноз День / неделя / месяц; отношения, карьера, ресурсы, самочувствие и забота о себе. Выбор периода → сохранённый результат или генерация; история → C03.
C03 История прогнозов Список периодов → C02 с выбранным результатом.
C04 Мой маршрут Сохранённый маршрут и следующие шаги. «Создать цель» → G02 с редактируемым черновиком.
C05 Мой код Выжимка, список осей, доступ к натальной карте и истории. Ось → C06, карта → C07, история → C08.
C06 Тема разбора Тезис, синтез, ограничения, расхождения, практика; «Почему такой вывод» раскрывает основания. «Обсудить с практиком» → P01.
C07 Натальная карта Визуализация и фактические подписи, исходные данные, ограничения точности.
C08 История разборов Даты и версии исходных данных; переход к соответствующему сохранённому разбору.
G01 Цели Активные / завершённые / архив; создать → G02, открыть → G03, статистика → G05.
G02 Создание / редактирование цели Цель или запрос, сфера, текст, срок. Сохранение → G03.
G03 Детали цели История отметок, текущий статус; check-in → G04; завершить, отменить, архивировать по доступным действиям.
G04 Check-in Достигнуто / частично / не достигнуто / пропущено, заметка. Сохранение → G03.
G05 Статистика целей Агрегаты по целям и отметкам без утверждения связи результата с прогнозом.

Оси C06: проявление себя; мотивация и ценности; эмоции и ресурс; принятие решений; отношения и границы; работа и реализация; деньги и ресурсы; вызовы и рост; фокус периода при наличии динамических расчётов. Старые check-in не редактируются. Связь цели с прогнозом нельзя показывать как сохранённую, пока она не поддержана контрактом.

4. Практики и консультации клиента

ID Экран Содержание и переходы
P01 Практики Сегменты «Найти» / «Мои консультации». Каталог и фильтры; карточка → P02, консультация → P04.
P02 Карточка практика Имя, описание, опыт, специализации, опубликованные кейсы, услуги и цены. Выбрать услугу → P03.
P03 Заявка Услуга, текст запроса, часовой пояс, необязательное предоставление профиля рождения, правила отмены. Отправить → P04.
P04 Детали консультации Статус, история, услуга, согласованное время, оплата и разрешённые действия. Согласовать → P05; оплатить → B02.
P05 Согласование времени Предложить интервал, принять вариант; даты с явной таймзоной. Подтверждение → P04.
Каталог → практика → услуга и заявка → ожидание принятия
 → согласование времени → ожидание оплаты → подтверждена → завершена

Отклонение, отмена, неявка, спор и закрытие — состояния P04 согласно серверным правилам. Возврат открывается из соответствующего заказа. Отправка запроса возврата не означает немедленного возврата денег. Подписка не оплачивает консультацию. Публичная карточка не раскрывает контакты и не показывает бейдж проверки квалификации.

5. Подписка и аккаунт

ID Экран Содержание и переходы
B01 Подписка / paywall Состав доступа, лимиты, цена первого месяца и продления, условия, восстановление покупок при поддержке магазина. Купить → B02. Закрыть → экран-источник.
B02 Подтверждение оплаты Подписка или отдельная консультация; провайдер определяется платформой и видом покупки. Возврат → B03.
B03 Статус оплаты Ожидание, успех, ошибка, отмена. После подтверждения сервером → исходный платный материал или P04.
S01 Профиль Данные, подписка, уведомления, документы, приватность, стать практиком / сменить режим, выход.
S02 Данные рождения Текущие значения и история. Изменение → проверка → новая версия расчёта; старые публикации сохраняются.
S03 Управление подпиской Статус, период, продление, способ оплаты, отмена автопродления через соответствующий канал покупки.
S04 Заказы и возвраты История, детали платежа, запрос возврата и его состояние.
S05 E-mail-уведомления Темы, таймзона, тихие часы; обязательные сервисные письма обозначены отдельно.
S06 Данные и приватность Документы → A04; запрос экспорта; запрос удаления с подтверждением и статусом обработки.

Paywall открывается из закрытого материала и после оплаты возвращает туда же. Успешный redirect сам по себе не выдаёт доступ: приложение проверяет заказ и серверные права. При ожидании оплаты повторный вход восстанавливает существующий заказ, а не создаёт новое списание. Отмена автопродления сохраняет доступ до конца оплаченного периода; поведение истории после окончания определяется entitlement. Цифровая подписка в магазинах приложений требует отдельного решения по billing; YooKassa из backend-документации не считается автоматически утверждённой для всех мобильных покупок.

6. Режим практика

Навигация: «Работа», «Публичный профиль», «Аккаунт». Переключение в клиентский режим доступно из аккаунта. Личный расчёт рождения не является условием регистрации практика.

ID Экран Содержание и переходы
R01 Стать практиком Имя, slug, описание, необязательный опыт. Предпросмотр → R02. Для гостя сначала A02–A03.
R02 Предпросмотр и публикация Подтверждение публичных данных. Публикация → R03; конфликт slug → R01 с сохранением формы.
R03 Работа Новые заявки, согласование, ожидающие оплаты, подтверждённые и история. Заявка → R04.
R04 Заявка / консультация Запрос и услуга; принять / отклонить; согласовать время через P05; завершить / отменить / отметить неявку по серверным правилам.
R05 Публичный профиль Просмотр, редактирование, приём заявок. Редактирование и переключатель требуют уточнения API.

Профиль после регистрации сразу доступен в каталоге. Верификации и ожидания административного одобрения нет. Доступ к данным рождения клиента ограничен разрешёнными состояниями консультации и предоставленными данными. Редактор услуг, цен, кейсов и экран выплат требуют отдельного контракта; наличие таблиц в БД не означает наличие пользовательских операций.

7. Общие состояния и переходы

  • Загрузка, пустой список, нет сети, ошибка с повтором, недоступная функция, исчерпанная квота.
  • OTP: неверный/истёкший код, лимит попыток, ожидание повторной отправки, ошибка доставки.
  • Расчёт и генерация: очередь, выполнение, частичный результат, готово, ошибка.
  • Покупка: ожидание подтверждения, отмена, ошибка, доступ выдан, просроченное продление.
  • Формы сохраняют ввод при исправлении ошибок и возврате к предыдущему шагу.
  • Кнопка «Назад» возвращает к источнику; табы сохраняют свою позицию и состояние.
  • Ссылки из писем и платёжные возвраты проходят проверку сессии и прав, затем открывают объект.
  • Недоступные возможности обозначаются честно; автоматизированный разбор сопровождается кратким пояснением характера результата.

8. Задание на дизайн

Обязательные визуальные источники

Шрифты и цвета взять из лендинга 67:30: прочитать семейства, начертания, fills, градиенты, стили и variables. Если локальные стили отсутствуют, извлечь значения из самих слоёв и записать источник каждого токена. Использовать эти семейства и палитру в мобильных компонентах. Размеры текста адаптировать к мобильному экрану.

16.09.2026 официальный плагин Figma подключён; шрифты и цвета прочитаны из слоёв лендинга:

  • Cormorant Garamond Medium — заголовки; Inter Regular, Medium и Semi Bold — интерфейс.
  • Фон #07070A, текст #F4F4F7, вторичный текст #9A9AA6.
  • Акценты: аметист #A77DDC, индиго #6E86F2, зелёный #56B98D, золото #E7B84E.
  • CTA: градиент #F0D082 → #E7B84E → #C98A2E, текст #241803, источник 67:298.
  • Изображение орбит переиспользовано из слоя 100:1691.

Реализованный дизайн v1

После подтверждения визуального направления на странице App создано 89 редактируемых экранов и состояний. Набор покрывает регистрацию и вход, онбординг, личный код, прогнозы, маршрут, цели, консультации, подписку и оплату, профиль и приватность, регистрацию и рабочий кабинет практика.

  • Локальные компоненты: Button (Primary / Secondary / Disabled), Card, Field, Navigation item (Active / Inactive).
  • 33 переменные: 12 primitive, 12 semantic, 9 layout; семь текстовых стилей. Поверхности используют aliases.
  • 609 реакций на видимых элементах прототипа, включая возвраты и таймер расчёта. Активные вкладки не ведут на себя.
  • Стартовые сценарии: новый клиент, вход, приложение, практик; отдельно ошибки OTP, сети, расчёта и оплаты.
  • Нижняя навигация клиента и практика связана. Из «Сегодня» доступны прогноз, цель и основные разделы.
  • Согласие на расчёт имеет состояния «не дано» / «дано». В первом продолжение недоступно.
  • Check-in имеет четыре переключаемых результата и соответствующие экраны сохранения.
  • Передача профиля рождения практику подтверждается отдельно; согласование времени имеет клиентский и рабочий варианты.
  • Изменение данных рождения из профиля не отправляет пользователя повторно в регистрацию.

Идентификаторы, позиции, фактические связи и результат структурной проверки сохранены в mobile-figma-state.json. 89 фреймов собраны в 11 функциональных секций Figma с крупными контрастными заголовками: главная; вход и регистрация; первый расчёт; личный код; прогноз и маршрут; цели и отметки; практики и консультации; подписка и оплата; профиль и настройки; кабинет практика; системные состояния. Нативные секции сохраняют самостоятельность экранов и назначения переходов прототипа. Исходный лендинг не изменён.

Правки навигации и визуальной иерархии — 16 сентября 2026

  • На 77 экранах основной части приложения закреплён таббар с иконками и подписями. Клиент: Сегодня, Мой код, Цели, Практики, Профиль. Практик: работа, профиль и аккаунт. Вход, регистрация, первичный сбор данных и документы до входа остаются без таббара.
  • Активный раздел отмечен золотом. Используется отдельный компонент с вариантами состояния и заменяемой иконкой; сегментные переключатели не изменены.
  • C01 выделен золотым логотипом и орбитальной графикой лендинга. Заголовок KARMACODE оставлен только на главной; на внутренних экранах — название раздела и возврат.
  • С холста удалены подписи о демонстрационном контенте и технические пояснения. Ограничения прототипа фиксируются в документации ниже, а не в пользовательском интерфейсе.
  • Проверены 89 экранов, 77 таббаров, 609 реакций и сохранность 8 точек старта. Визуально проверены главная, секция личного кода и форма заявки.

Проверки и границы прототипа

Проверены семейства шрифтов, размеры 390 × 844, горизонтальные границы, уникальность имён экранов, существование назначений переходов и зоны нажатия настроенных реакций (не менее 44 × 44). Визуально проверены основные сценарии и общий холст. Длинные материалы прокручиваются внутри экрана; нижние действия и навигация остаются вне прокручиваемой области.

Это дизайн-прототип, не работающий frontend: формы показывают пример ввода, серверные операции не выполняются. Списки демонстрируют отдельные состояния и не являются единой синхронизированной базой данных. Двухсекундный переход O04 → регистрация иллюстрирует сценарий, а не время работы API. Расчёт допускает возврат позже; существующему аккаунту вход открывает C01.

Не выданы за готовые: цены и состав тарифов, магазинный billing, финальные юридические тексты, реальная натальная визуализация, сохранение настроек рассылок, управление услугами и ценами практика. Экраны этих областей показывают структуру, ограничения или отсутствие данных. Тексты разборов и профили — демонстрационные. Отдельный этап перед разработкой: ширина 360, системная клавиатура, нативные пикеры, focus/ошибки каждого поля, screen reader, динамический размер текста и подробные состояния отмены подписки/истории после её окончания.

Структура рабочей страницы

  1. 00 Foundations: извлечённая палитра, типографика, отступы и сетка.
  2. 01 Components: кнопки, поля, OTP, табы, карточки, статусы, модальные окна.
  3. 02 Auth & Onboarding: A01–A04, O01–O05 и состояния ошибок.
  4. 03 Client: C01–C08, G01–G05.
  5. 04 Consultations: P01–P05.
  6. 05 Billing & Account: B01–B03, S01–S06.
  7. 06 Practitioner: R01–R05.
  8. 07 Prototype: точки входа и связанные сценарии.

Рабочий размер первого набора — 390 × 844, с проверкой узкой ширины 360. Это проектное решение, а не значение из лендинга. В первом наборе отступы по краям 24, базовый шаг 4, основные кнопки высотой 56. Настроенные интерактивные зоны проверены на минимум 44 × 44; поведение на узкой ширине ещё требует проверки перед handoff. Auto Layout, переиспользуемые компоненты, варианты ошибок/disabled/loading, длинные русские тексты и состояния клавиатуры. Фреймы именуются по ID экрана, например A02 / Вход / E-mail и A02 / Регистрация / E-mail. Существующие макеты на целевой странице сохраняются; новые секции размещаются после осмотра свободной области.

Первый набор макетов

Сначала подготовить foundations и компоненты, затем связанный путь:

Приветствие → данные рождения → место → проверка → расчёт
 → регистрация → OTP → бесплатный результат → Сегодня → Мой код → тема разбора

Дополнительно показать самостоятельный вход A01 → A02 → A03 → C01 и paywall из темы разбора. Следующим набором — прогноз, цели, каталог, заявка, согласование и оплата; затем кабинет практика и настройки.

9. API-вопросы до реализации

  • Сверить каждый экран с фактическим OpenAPI: 07-api-outline.md — функциональная карта.
  • Проверить OTP без draft, привязку гостевых данных к существующему аккаунту, момент фиксации согласий.
  • Определить мобильное хранение/обновление сессии и возврат по ссылкам.
  • Рассмотреть агрегат домашнего экрана; отдельный endpoint пока является предложением.
  • Утвердить чтение истории разборов, заказов и статусов privacy-запросов, пагинацию списков.
  • Уточнить API временных предложений и разрешённые действия консультации для каждой роли.
  • Уточнить обновление профиля практика и приёма заявок, настройку услуг после саморегистрации.
  • Определить billing по каналам распространения, проверку и восстановление покупок, общие права доступа.
  • Утвердить free/paid-функции, квоты, цену, объём трекера, доступ к истории после окончания подписки.
  • Жалоба на AI-фрагмент требует API и процесса обработки, прежде чем появится рабочая кнопка.

Матрица судьбы, диалоговый AI-чат, push, встроенные чат/видео, календарь со слотами, верификация практиков, админ-панель, групповые консультации и синастрия не включаются в макеты работающего MVP без отдельного решения.