Мобильное приложение: экраны, переходы и дизайн¶
Дата: 16.09.2026. Основание: обсуждение мобильного frontend и поручение начать дизайн в Figma.
Документ фиксирует проектируемую навигацию. Он не является подтверждением реализации API или готовности макетов. Мобильный клиент — отдельная часть продукта; его появление не означает автоматическое включение всех pending-функций backend.
Источники и рабочий файл¶
- Актуальные модули, scope, карта API.
- Оси разбора, AI-результаты.
- Открытая регистрация практика имеет приоритет перед старым PRD с ручным отбором.
- Страница для мобильного дизайна в Figma.
- Лендинг — источник шрифтов и цветов.
Принципы¶
- Одно приложение, одна учётная запись, режимы клиента и практика. Практик сохраняет роль клиента.
- Главный результат — единый разбор. Астрология, нумерология и Human Design не становятся отдельными вкладками.
- Клиентская навигация: «Сегодня», «Мой код», «Цели», «Практики», «Профиль».
- Регистрация и вход имеют самостоятельные точки входа и используют общий e-mail OTP.
- Подписка открывает функции согласно серверным правам доступа; консультации оплачиваются отдельно.
- Цены, лимиты, доступные модули и действия приходят с сервера. Не фиксировать ориентир 800 ₽ и 1–3 попытки в макетах как утверждённые условия.
- Расчёты и генерации продолжаются после ухода с экрана. Возврат восстанавливает их состояние.
1. Регистрация, вход и запуск¶
| ID | Экран | Содержание и переходы |
|---|---|---|
| A00 | Запуск | Восстановление сессии; при успехе — состояние аккаунта, иначе A01. Ошибка сети позволяет повторить проверку. |
| A01 | Приветствие | «Рассчитать мой код» → O01; «Войти» → A02; «Стать практиком» → A02 с сохранённой целью перехода. Вторичная ссылка «Создать аккаунт» → A02. |
| A02 | E-mail: вход / создание аккаунта | Общая форма с текстом по сценарию. При регистрации — ссылки на документы и необходимые согласия. Продолжить → A03. |
| A03 | Подтверждение e-mail | Шесть цифр; сменить e-mail → A02; повторная отправка через 60 секунд. Код действует 10 минут, максимум 5 попыток на challenge. |
| A04 | Документы | Просмотр конкретного документа и возврат к форме без потери ввода. Заглушки не выдаются за финальное согласие. |
Основная регистрация клиента:
После OTP гостевой draft привязывается к аккаунту. Если расчёт ещё идёт, открывается O04, затем O05. Согласия на обработку данных должны быть доступны до отправки данных рождения; точные тексты и версии определяются legal-контрактом.
Прямое создание аккаунта — дополнительный UX-путь: A01 → A02 → A03 → O01. Он требует проверки фактического OTP-контракта без draft. В документации backend это не отдельный endpoint регистрации.
Вход: A01 → A02 → A03 → восстановление состояния аккаунта. Ответ на запрос кода не сообщает, существует ли аккаунт. Если e-mail уже зарегистрирован, используется существующая учётная запись. Паролей, восстановления пароля, телефона и социальных провайдеров в текущем scope нет.
Приоритет маршрутизации после входа:
- Сохранённая цель входа: регистрация практика, защищённая ссылка или продолжение оплаты; проверить доступ к объекту.
- Незавершённый гостевой онбординг/расчёт — восстановить его.
- Последний режим практика, если роль есть — рабочий кабинет.
- Для клиента без данных рождения — 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, динамический размер текста и подробные состояния отмены подписки/истории после её окончания.
Структура рабочей страницы¶
00 Foundations: извлечённая палитра, типографика, отступы и сетка.01 Components: кнопки, поля, OTP, табы, карточки, статусы, модальные окна.02 Auth & Onboarding: A01–A04, O01–O05 и состояния ошибок.03 Client: C01–C08, G01–G05.04 Consultations: P01–P05.05 Billing & Account: B01–B03, S01–S06.06 Practitioner: R01–R05.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 без отдельного решения.