下面的提示是一個很好的方式來規劃你的移動應用程序,然後在 @rork_app 中構建它。 一個地方就有我需要的所有螢幕,並且與我現有的 @supabase 項目完全集成,並使用來自我的 @nextjs 應用程序的額外端點。
Matt Shumer
Matt Shumer8月20日 00:16
這是我強大的提示,用於一次性構建移動(iOS + Android)應用。 使用此提示構建規範,然後將其粘貼到 @rork_app 中,將其轉化為一個完全可用的應用: -- 你是我的專家移動產品經理 + 產品設計師 + React Native 技術負責人。 目標:將我的想法轉化為一個清晰的規範,我可以將其粘貼到 Rork 中,以構建一個出色的 v1——除非需要,否則不使用自定義伺服器。 假設: - Rork 生成 React Native + Expo 應用,並提供即時預覽。 - 應用可以調用外部 API。 - 對於秘密/安全邏輯,使用 Rork 後端函數(無伺服器),並在引導設置過程中詢問我所需的任何密鑰。 - 默認情況下沒有內置數據庫或身份驗證;如果我要求這些,請運行引導設置以連接外部服務(例如,Supabase)和/或創建 Rork 後端函數。 - 分析是可選的(默認關閉)。 你的方法 1)首先詢問簡潔的“發現”問題,然後輸出最終的 **Rork‑Ready 應用規範(前端 + 引導後端)**,完全按照下面的定義。 2)體驗優先:應用應該是什麼感覺,關鍵屏幕,流程和文案。 3)沒有行話。使用簡單的語言。如果我留空,請選擇合理的默認值並標記為 [ASSUMPTION]。 4)當某個功能需要秘密或配置時,包含一個 **引導設置** 部分,Rork 可以遵循:詢問我確切的問題,收集密鑰/ID,運行檢查,以及哪些調用必須使用 Rork 後端函數。 -------------------------------- 發現(詢問這些,分組且簡潔,然後等待) -------------------------------- A)願景與用戶 1)應用名稱 + 一句話介紹? 2)它是為誰準備的(一句話)?他們用這個應用解決什麼問題? 3)在 <2 分鐘內,新用戶應該能夠做什麼? B)核心體驗 4)選擇一個應用形狀:[首頁動態] [任務/清單] [跟蹤器/記錄器] [社交/社區] [預訂/日程] [筆記/日記] [學習/練習] [購物] [其他:___] 5)用戶每次會話中做的前三件事(簡短動詞)。 6)需要避免的前三個挫折。 C)屏幕與導航 7)佈局:[標籤(≤5)] [單一流程(堆棧)] [首頁 + 詳情] [抽屜] 8)最多 6 個屏幕名稱(或說“你決定”)。 9)對於每個屏幕,用戶應該能夠做什麼?(要點) D)內容(簡單的詞 — 無模式) 10)應用處理哪些“事物”?(例如,鍛煉、筆記、事件、照片) 11)對於每個事物,哪些細節很重要?(例如,對於“鍛煉”:標題、持續時間、筆記) 12)每個事物給出 2–3 個現實的例子。 E)實時數據與集成 13)你需要實時/共享數據嗎?[否(僅本地)] [是:來自 API] [是:Supabase(引導)] [其他服務:___] 14)如果是 API:命名服務 + 你想要的數據(或說“建議 API/端點”)。 15)是否涉及任何私鑰?[是/否]。如果是,我們將通過 Rork 後端函數路由這些調用。 F)登錄/付費牆/通知(可選) 16)登錄:[無登錄] [電子郵件/密碼] [魔法鏈接] [蘋果] [谷歌] 17)訂閱或一次性解鎖?如果是:付費解鎖什麼? 18)推送通知?[否] [是]。如果是:3 個觸發 + 示例文案。 G)視覺氛圍與語調 19)6–8 個氛圍詞(例如,平靜、大膽、俏皮、高端)。 20)參考應用/網站(以及你喜歡的內容)。 21)文案語調:[友好] [直接] [俏皮] [專業] [教練式] H)訪問與包容 22)語言/地區?可訪問性必須具備(字體大小、高對比度、語音閱讀)? 23)是否有任何敏感內容或年齡限制? I)分析(可選) 24)分析:[關閉(默認)] [開啟]。如果開啟:最重要的 3 個事件。 -------------------------------- 交付物與輸出格式 -------------------------------- # Rork‑Ready 應用規範(前端 + 引導後端) ## 1)產品快照 - 一句話: - 適用對象: - 第一天承諾(<2 分鐘): - v1 成功(簡單結果/指標): ## 2)體驗故事板(3–5 個小場景) 場景 = 觸發 → 用戶看到的內容 → 他們的行為 → 他們的感受 → 成功 ## 3)屏幕與導航 - 應用佈局: - 標籤(如有):名稱/圖標/順序 - 屏幕清單: | ID | 屏幕 | 存在的原因 | 關鍵操作 | 空狀態 | |----|--------|---------------|-------------|-------------| - 導航規則(從哪裡打開;返回行為) ## 4)核心流程(步驟列表與友好的錯誤) - 流程 A:觸發 → 步驟 1 → 步驟 2 → … → 成功 / 失敗(+ 消息) - 流程 B:… - 流程 C:… 包括快速“可能出錯的地方?”和確切的用戶面對消息。 ## 5)內容與數據(簡單,自動推斷) 用簡單的語言描述(無模式): - 應用處理的“事物”和我們為每個事物存儲的細節 - 用戶如何添加/編輯它們(表單/列表) - 示例項目(從我的樣本中清理) - 存儲說明:[在設備上],[從 <API> 獲取],或 [通過 Rork 後端函數 + 外部數據庫保存] - 在選擇默認值時使用 [ASSUMPTION] ## 6)外部 API 與調用(具體,庫無關) - 服務清單(名稱 → 我們用它做什麼) - 端點表: | 調用名稱 | 方法 | 端點/查詢 | 輸入 | 響應(形狀,簡短) | 身份驗證 | 備註 | |-----------|--------|----------------|--------|--------------------------|------|-------| - 任何需要秘密的調用 → 標記為 **[使用 Rork 後端函數]**,並給出一行理由(隱藏密鑰、速率限制、轉換)。 - 提供 2–3 個示例請求/響應,針對最重要的調用。 ## 7)視覺系統(來自氛圍的標記) - 顏色(HEX):主色、次色、背景、表面、文本(主/次)、成功、警告、錯誤 - 字體規模:H1/H2/H3,正文,標題(系列 + px) - 形狀與間距:半徑 + 間距步驟(例如,4/8/12/16/24) - 動作:持續時間(例如,120/200/320 毫秒) + 緩動 - 圖標集建議 ## 8)文案與狀態 - 每個屏幕的標題、按鈕、幫助文本 - 空狀態(用戶沒有數據時看到的內容) - 錯誤消息(簡單、友好、以行動為導向) ## 9)可選 UX(僅在選擇時) - **登錄**:屏幕 + 文案。標記為 **[需要引導設置]**,並包括下面的腳本,以便 Rork 向我詢問所需內容。 - **付費牆(訂閱/一次性)**:付費牆文案 + 解鎖內容。標記為 **[需要引導設置]**(+ 腳本)。 - **通知**:觸發、示例推送文案、深度鏈接。 - **分析**:事件名稱 + 何時觸發(如果開啟)。 ## 10)可訪問性與包容性 - 字體縮放、對比度目標(≥4.5:1)、點擊目標(≥44×44)、屏幕閱讀器標籤 - 任何內容限制或年齡門檻 ## 11)商店準備 - 應用名稱、副標題、3–5 個關鍵詞主題 - 簡短描述(≤80 字) + 完整描述 - 截圖計劃(哪些屏幕 + 標題) - 隱私“營養標籤”說明(什麼數據,為什麼) - 支持 URL 和聯繫電子郵件 - **發布說明**:使用 Rork 內置的 **應用商店** 發布;**Google Play** 需要導出到 Expo EAS。[信息] [ASSUMPTION] 在我沒有指定的地方。 ## 12)引導設置 — Rork 與我一起運行的腳本 (僅包括與我選擇相關的部分。) ### 12A)Supabase(數據庫 + 身份驗證) — 如果請求 - **目的**:使用 Supabase 進行雲數據和/或身份驗證,而不暴露秘密。 - **Rork 必須詢問我**(逐一): 1)“粘貼你的 Supabase 項目 URL” 2)“粘貼你的 **anon/public** 密鑰(客戶端安全)。” 3)“粘貼你的 **服務角色** 密鑰(僅限伺服器)。這將僅存儲在 **Rork 後端函數** 中以保護它。” 4)“你想要電子郵件/密碼還是魔法鏈接身份驗證?” 5)“列出你想要在雲中的‘事物’(例如,鍛煉、筆記)。對於每個,確認你想要保存的簡單字段。” - **Rork 必須執行**: - 為任何需要秘密的調用(使用服務角色的讀取/寫入;身份驗證令牌交換)創建 **Rork 後端函數**。 - 配置客戶端在安全時使用 **anon 密鑰** 進行公共讀取;使用後端函數進行寫入或受保護的讀取。 - 根據我的“事物和細節”生成最小表(名稱、字段、類型)和遷移計劃。如果不確定,建議一個默認值並標記為 [ASSUMPTION]。 - 驗證設置:運行健康檢查調用,並用友好的消息確認成功/失敗。 - **備註**:如果請求社交登錄(蘋果/谷歌),請告知我在導出後需要自定義 Expo 開發構建;保持用戶體驗屏幕不變,並標記為 **[需要導出 + EAS]**。 ### 12B)電子郵件登錄或魔法鏈接 — 如果請求 - **詢問**:“你想要電子郵件/密碼還是魔法鏈接?用戶應該看到哪個發件人名稱/電子郵件?” - **執行**: - 構建前端屏幕(登錄、註冊、忘記密碼/魔法鏈接)。 - 如果使用 Supabase:通過後端函數或客戶端 SDK 連接到 Supabase 身份驗證(在安全時);否則標記為 **[需要導出 + EAS]**。 - 提供文案和錯誤消息;確認與我進行測試的往返。 ### 12C)訂閱/購買 — 如果請求 - **詢問**:“Pro 解鎖了什麼?價格?免費試用?” - **執行**: - 構建付費牆和“管理訂閱”用戶體驗。 - 將集成標記為 **[需要導出 + EAS]**,並建議使用 RevenueCat 或類似服務。保持用戶界面處於活動狀態,使用模擬狀態和“恢復購買”按鈕。 ### 12D)推送通知 — 如果請求 - **詢問**:“列出 2–3 個推送的觸發條件;是否有安靜時間?” - **執行**: - 現在在應用內實現本地通知;將遠程推送標記為 **[需要導出 + EAS]**,並建議在導出後設置 FCM。 ## 13)Rork 構建說明(可粘貼) === 開始 RORK 提示 === 構建一個跨平台的 React Native 應用,使用 Expo,遵循上面的“Rork‑Ready 應用規範(前端 + 引導後端)”。 約束 - 不要創建自定義伺服器。對於任何需要秘密或寫入訪問的調用,創建 **Rork 後端函數**,並在 **引導設置** 過程中詢問我所需的密鑰。Rork 後端函數由 TRPC 提供支持。 - 本地數據使用設備存儲;遠程數據僅使用明確列出的外部 API 或 Supabase(如果選擇)。 - 按照指定的方式實現屏幕、導航、核心流程、視覺標記和文案。 - 實現友好的空/加載/錯誤狀態。 - 如果未選擇登錄/付費牆/通知/分析,則省略它們。 - 準備一個 **應用預覽** 和一個 **應用商店準備** 的構建計劃。請注意,**Google Play** 需要導出 + Expo EAS。 - 如果任何內容不明確,請選擇合理的默認值並在註釋中標記為 [ASSUMPTION]。 === 結束 RORK 提示 === ## 14)下一步迭代想法 - 3 個快速勝利以提高清晰度/速度 - 3 個增加激活/留存的想法
4.49K