Ниже приведённый запрос — это хороший способ спроектировать ваше мобильное приложение, а затем создать его в @rork_app. Одно место со всеми экранами, которые мне нужны, полностью интегрированное с моим существующим проектом @supabase, и оно использует дополнительные конечные точки из моего приложения @nextjs.
Matt Shumer
Matt Shumer20 авг., 00:16
Вот мой мощный запрос для создания мобильного приложения (iOS + Android) за один раз. Используйте это для создания спецификации, затем вставьте в @rork_app, чтобы превратить это в полностью работающее приложение: -- Вы мой эксперт по мобильным проектам + дизайнер продукта + технический лидер React Native. Цель: Превратить мою идею в кристально ясную спецификацию, которую я могу вставить в Rork, чтобы создать отличную версию 1 — без пользовательских серверов, если это не требуется. Предположим: - Rork генерирует приложения React Native + Expo с мгновенными предварительными просмотрами. - Приложение может вызывать внешние API. - Для секретов/защищенной логики используйте функции Rork Backend (безсерверные) и спрашивайте меня о любых ключах, которые вам нужны, во время пошаговой настройки. - По умолчанию нет встроенной базы данных или аутентификации; если я попрошу об этом, проведите пошаговую настройку для подключения внешних сервисов (например, Supabase) и/или создания функций Rork Backend. - Аналитика является необязательной (по умолчанию ВЫКЛ). Ваш подход 1) Сначала задайте краткие вопросы "Открытие", затем выведите окончательную **Спецификацию приложения, готовую к Rork (Frontend + Пошаговый Backend)** точно так, как определено ниже. 2) Сначала опыт: как должно ощущаться приложение, ключевые экраны, потоки и текст. 3) Без жаргона. Используйте простой язык. Если я оставлю пробелы, выберите разумные значения по умолчанию и отметьте их [ПРЕДПОЛОЖЕНИЕ]. 4) Когда функция требует секретов или настройки, включите раздел **Пошаговая настройка**, который Rork может следовать: точные вопросы, которые нужно задать мне, ключи/идентификаторы для сбора, проверки для выполнения и какие вызовы должны использовать функцию Rork Backend. -------------------------------- ОТКРЫТИЕ (задайте эти вопросы, сгруппированные и краткие, затем ЖДИТЕ) -------------------------------- A) Видение и пользователи 1) Название приложения + одно предложение о его сути? 2) Для кого это (одно предложение)? Какую проблему они решают с помощью приложения? 3) За <2 минуты, что новый пользователь должен уметь делать? B) Основной опыт 4) Выберите форму приложения: [Главная лента] [Задача/Список] [Трекер/Журнал] [Социальный/Сообщество] [Бронирование/Расписание] [Заметки/Дневник] [Учеба/Практика] [Магазин] [Другое: ___] 5) Топ-3 вещи, которые пользователи делают за каждую сессию (короткие глаголы). 6) Топ-3 разочарования, которых следует избегать. C) Экраны и навигация 7) Макет: [Вкладки (≤5)] [Единый поток (Стек)] [Главная + Подробности] [Ящик] 8) До 6 названий экранов (или скажите "Вы решаете"). 9) Для каждого экрана, что пользователь должен уметь делать? (пункты) D) Содержимое (простыми словами — без схем) 10) Какие "вещи" обрабатывает приложение? (например, тренировки, заметки, события, фотографии) 11) Для каждой вещи, какие детали важны? (например, для "тренировки": название, продолжительность, заметки) 12) Приведите 2–3 реалистичных примера для каждой вещи. E) Живые данные и интеграции 13) Нужны ли вам живые/общие данные? [Нет (только локально)] [Да: из API] [Да: Supabase (пошагово)] [Другой сервис: ___] 14) Если API: назовите сервис(ы) + какие данные вам нужны (или скажите "Предложите API/конечные точки"). 15) Есть ли какие-либо частные ключи? [Да/Нет]. Если Да, мы будем направлять эти вызовы через функции Rork Backend. F) Вход / Платный доступ / Уведомления (по желанию) 16) Вход: [Нет входа] [Электронная почта/Пароль] [Магическая ссылка] [Apple] [Google] 17) Подписки или одноразовые разблокировки? Если да: что разблокирует платный доступ? 18) Уведомления? [Нет] [Да]. Если Да: 3 триггера + пример текста. G) Визуальная атмосфера и тон 19) 6–8 слов о настроении (например, спокойный, смелый, игривый, премиум). 20) Приложения/сайты для справки (и что вам нравится). 21) Тон текста: [Дружелюбный] [Прямой] [Игривый] [Профессиональный] [Как тренер] H) Доступ и инклюзия 22) Языки/регионы? Обязательные требования к доступности (размер шрифта, высокий контраст, VoiceOver)? 23) Есть ли какой-либо чувствительный контент или возрастные ограничения? I) Аналитика (по желанию) 24) Аналитика: [Выкл (по умолчанию)] [Вкл]. Если ВКЛ: 3 события, которые имеют наибольшее значение. -------------------------------- РЕЗУЛЬТАТЫ И ФОРМАТ ВЫВОДА -------------------------------- # Спецификация приложения, готовая к Rork (Frontend + Пошаговый Backend) ## 1) Снимок продукта - Одно предложение: - Для кого это: - Обещание на день 1 (<2 минуты): - Успех версии 1 (простые результаты/метрики): ## 2) Сториборд опыта (3–5 маленьких сцен) Сцена = Триггер → Что видит пользователь → Что он делает → Что он чувствует → Успех ## 3) Экраны и навигация - Макет приложения: - Вкладки (если есть): названия/значки/порядок - Инвентаризация экранов: | ID | Экран | Зачем он существует | Ключевые действия | Пустое состояние | |----|--------|---------------|-------------|-------------| - Правила навигации (что открывается откуда; поведение назад) ## 4) Основные потоки (списки шагов с дружелюбными ошибками) - Поток A: Триггер → Шаг 1 → Шаг 2 → … → Успех / Неудача (+ сообщение) - Поток B: … - Поток C: … Включите быстрые "что может пойти не так?" и точное сообщение для пользователя. ## 5) Содержимое и данные (просто, автоматически выведенные) Опишите простыми словами (без схем): - "Вещи", которые обрабатывает приложение, и детали, которые мы храним для каждой - Как пользователи добавляют/редактируют их (формы/списки) - Примеры элементов (очищенные из моих образцов) - Заметки о хранении: [На устройстве], [Получено из <API>], или [Сохранено через функцию Rork Backend + внешнюю БД] - Используйте [ПРЕДПОЛОЖЕНИЕ], где вы выбираете значения по умолчанию ## 6) Внешние API и вызовы (конкретные, независимые от библиотеки) - Список сервисов (название → для чего мы его используем) - Таблица конечных точек: | Название вызова | Метод | Конечная точка/Запрос | Входные данные | Ответ (форма, кратко) | Аутентификация | Заметки | |-----------|--------|----------------|--------|--------------------------|------|-------| - Любой вызов, который требует секретов → отметьте **[Использовать функцию Rork Backend]** с одной строкой причины (скрыть ключ, ограничить частоту, преобразовать). - Предоставьте 2–3 примера запросов/ответов для самых важных вызовов. ## 7) Визуальная система (токены из атмосферы) - Цвета (HEX): Основной, Вторичный, Фон, Поверхность, Текст (основной/вторичный), Успех, Предупреждение, Ошибка - Масштаб шрифта: H1/H2/H3, Тело, Подпись (семейства + px) - Форма и отступы: радиус + шаги отступа (например, 4/8/12/16/24) - Движение: продолжительности (например, 120/200/320мс) + сглаживание - Предложение набора значков ## 8) Текст и состояния - Заголовки, кнопки, вспомогательный текст для каждого экрана - Пустые состояния (что пользователи видят без данных) - Сообщения об ошибках (простые, дружелюбные, ориентированные на действия) ## 9) Необязательный UX (только если выбран) - **Вход**: экраны + текст. Пометьте **[Требуется пошаговая настройка]** и включите сценарий ниже, чтобы Rork спросил меня, что ему нужно. - **Платный доступ (подписки/однократные)**: текст платного доступа + что разблокируется. Пометьте **[Требуется пошаговая настройка]** (+ сценарий). - **Уведомления**: триггеры, пример текста push, глубокие ссылки. - **Аналитика**: названия событий + когда они срабатывают (если ВКЛ). ## 10) Доступность и инклюзия - Масштабирование шрифта, целевой контраст (≥4.5:1), целевые области (≥44×44), метки для экранных считывателей - Любые ограничения контента или возрастные ограничения ## 11) Готовность к публикации - Название приложения, подзаголовок, 3–5 ключевых тем - Краткое описание (≤80 символов) + полное описание - План скриншотов (какие экраны + подписи) - Заметки о "питательной этикетке" конфиденциальности (какие данные, зачем) - URL поддержки и контактный email - **Заметки о публикации**: Используйте встроенную публикацию **App Store** от Rork; **Google Play** требует экспорта в Expo EAS. [Информация] [ПРЕДПОЛОЖЕНИЕ], где я не указал. ## 12) Пошаговая настройка — сценарии для Rork, чтобы работать со мной (Включите только разделы, относящиеся к тому, что я выбрал.) ### 12A) Supabase (БД + Аутентификация) — если запрошено - **Цель**: Использовать Supabase для облачных данных и/или аутентификации без раскрытия секретов. - **Rork должен СПРОСИТЬ меня** (по одному): 1) "Вставьте URL вашего проекта Supabase" 2) "Вставьте ваш **anon/public** ключ (безопасный для клиента)." 3) "Вставьте ваш **ключ роли сервиса** (только для сервера). Он будет храниться только в **функции Rork Backend**, чтобы защитить его." 4) "Хотите ли вы аутентификацию по электронной почте/паролю или магическую ссылку?" 5) "Перечислите 'вещи', которые вы хотите в облаке (например, тренировки, заметки). Для каждой подтвердите простые поля, которые вы хотите сохранить." - **Rork должен СДЕЛАТЬ**: - Создать **функции Rork Backend** для любых вызовов, которые требуют секретов (чтения/записи с использованием роли сервиса; обмен токенами аутентификации). - Настроить клиента для использования **anon ключа** для публичных чтений, когда это безопасно; использовать функцию Backend для записей или защищенных чтений. - Сгенерировать минимальные таблицы на основе моих "вещей и деталей" (названия, поля, типы) и план миграции. Если не уверены, предложите значение по умолчанию и отметьте [ПРЕДПОЛОЖЕНИЕ]. - Проверить настройку: выполнить проверку состояния и подтвердить успех/неудачу с дружелюбным сообщением. - **Заметки**: Если запрашивается социальный вход (Apple/Google), сообщите мне, что мне понадобится пользовательская сборка Expo Dev после экспорта; оставьте экраны UX на месте и отметьте как **[Требует экспорта + EAS]**. ### 12B) Вход по электронной почте или магическая ссылка — если запрошено - **СПРОСИТЬ**: "Хотите ли вы аутентификацию по электронной почте/паролю или магическую ссылку? Какое имя/электронная почта отправителя должны видеть пользователи?" - **СДЕЛАТЬ**: - Создать экраны фронтенда (Вход, Регистрация, Забыли пароль / Магическая ссылка). - Если используется Supabase: подключить к Supabase Auth через функцию Backend или клиентский SDK, где это безопасно; в противном случае отметьте как **[Требует экспорта + EAS]**. - Предоставить текст и сообщения об ошибках; подтвердить тестовый круговой путь со мной. ### 12C) Подписки / Покупки — если запрошено - **СПРОСИТЬ**: "Что разблокируется с Pro? Цена? Бесплатный пробный период?" - **СДЕЛАТЬ**: - Создать платный доступ и UX "управление подпиской". - Отметить интеграцию как **[Требует экспорта + EAS]** и предложить RevenueCat или аналогичное. Держите UI активным с макетом состояния и кнопкой "Восстановить покупки". ### 12D) Уведомления — если запрошено - **СПРОСИТЬ**: "Перечислите 2–3 триггера для уведомлений; есть ли тихие часы?" - **СДЕЛАТЬ**: - Реализовать локальные уведомления в приложении сейчас; отметить удаленные уведомления как **[Требует экспорта + EAS]** и предложить настройку FCM после экспорта. ## 13) Инструкции по сборке Rork (готовые к вставке) === НАЧАЛО ЗАПРОСА RORK === Создайте кроссплатформенное приложение React Native с Expo, следуя "Спецификации приложения, готовой к Rork (Frontend + Пошаговый Backend)" выше. Ограничения - Не создавайте пользовательский сервер. Для любого вызова, который требует секретов или доступа на запись, создайте **функции Rork Backend** и спрашивайте меня о необходимых ключах во время **Пошаговой настройки**. Функции Rork Backend работают на TRPC. - Локальные данные используют хранилище на устройстве; удаленные данные используют только явно перечисленные внешние API или Supabase (если выбрано). - Реализуйте экраны, навигацию, основные потоки, визуальные токены и текст точно так, как указано. - Реализуйте дружелюбные состояния пустоты/загрузки/ошибок. - Если вход/платный доступ/уведомления/аналитика НЕ выбраны, опустите их. - Подготовьте **Предварительный просмотр приложения** и план сборки, готовый к **App Store**. Обратите внимание, что **Google Play** требует экспорта + Expo EAS. - Если что-то неясно, выберите разумное значение по умолчанию и отметьте его [ПРЕДПОЛОЖЕНИЕ] в комментариях. === КОНЕЦ ЗАПРОСА RORK === ## 14) Идеи для следующей итерации - 3 быстрых выигрыша для ясности/скорости - 3 идеи для увеличения активации/удержания.
4,5K