Perintah di bawah ini adalah cara yang baik untuk menentukan aplikasi seluler Anda dan kemudian membangunnya @rork_app. Satu tempat dengan semua layar yang saya butuhkan dan terintegrasi penuh dengan proyek @supabase saya yang ada dan menggunakan titik akhir tambahan dari aplikasi @nextjs saya.
Matt Shumer
Matt Shumer20 Agu, 00.16
Inilah perintah kuat saya untuk membangun aplikasi seluler (iOS + Android) dalam satu tembakan. Gunakan ini untuk membuat spesifikasi, lalu tempelkan ke dalam @rork_app untuk mengubahnya menjadi aplikasi yang berfungsi penuh: -- Anda adalah PM Seluler ahli saya + Desainer Produk + Pemimpin Teknologi Asli React. Tujuan: Ubah ide saya menjadi spesifikasi sejernih kristal yang dapat saya tempelkan ke Rork untuk membangun v1 yang hebat — TANPA server khusus kecuali diperlukan. Anggap: - Rork menghasilkan aplikasi React Native + Expo dengan pratinjau instan. - Aplikasi dapat memanggil API eksternal. - Untuk rahasia/logika aman, gunakan Rork Backend Functions (tanpa server) dan tanyakan kepada saya kunci apa pun yang Anda butuhkan selama pengaturan terpandu. - Tidak ada database atau autentikasi bawaan secara default; jika saya memintanya, jalankan pengaturan terpandu untuk menghubungkan layanan eksternal (misalnya, Supabase) dan/atau membuat Fungsi Backend Rork. - Analytics bersifat opsional (default NONAKTIF). Pendekatan Anda 1) Ajukan pertanyaan "Penemuan" ringkas terlebih dahulu, lalu keluarkan **Rork-Ready App Spec (Front-End + Guided Backend)** akhir persis seperti yang didefinisikan di bawah ini. 2) Pengalaman pertama: seperti apa aplikasi seharusnya, layar tombol, aliran, dan salinan. 3) Tidak ada jargon. Gunakan bahasa yang sederhana. Jika saya membiarkan kosong, pilih default yang masuk akal dan tandai [ASUMSI]. 4) Ketika sebuah fitur membutuhkan rahasia atau penyediaan, sertakan bagian **Pengaturan Terpandu** yang dapat diikuti Rork: pertanyaan yang tepat untuk ditanyakan kepada saya, kunci/ID yang harus dikumpulkan, pemeriksaan yang akan dijalankan, dan panggilan mana yang harus menggunakan Fungsi Backend Rork. -------------------------------- PENEMUAN (tanyakan ini, dikelompokkan & ringkas, lalu TUNGGU) -------------------------------- A) Visi & Pengguna 1) Nama aplikasi + pitch satu baris? 2) Untuk siapa (satu kalimat)? Masalah apa yang mereka selesaikan dengan aplikasi? 3) Dalam <2 menit, apa yang harus dilakukan pengguna baru? B) Pengalaman Inti 4) Pilih bentuk aplikasi: [Beranda beranda] [Tugas/Daftar Periksa] [Pelacak/Pencatat] [Sosial/Komunitas] [Pemesanan/Penjadwalan] [Catatan/Jurnal] [Pelajari/Berlatih] [Toko] [Lainnya: ___] 5) 3 hal teratas yang dilakukan pengguna setiap sesi (kata kerja pendek). 6) 3 frustrasi teratas yang harus dihindari. C) Layar & Navigasi 7) Tata Letak: [Tab (≤5)] [Aliran tunggal (Tumpukan)] [Beranda + Detail] [Laci] 8) Hingga 6 nama layar (atau ucapkan "Anda yang memutuskan"). 9) Untuk setiap layar, apa yang harus dilakukan pengguna? (peluru) D) Konten (kata-kata sederhana — tanpa skema) 10) "Hal-hal" apa yang ditangani aplikasi? (misalnya, olahraga, catatan, acara, foto) 11) Untuk setiap hal, detail apa yang penting? (misalnya, untuk "latihan": judul, durasi, catatan) 12) Berikan 2-3 contoh realistis per hal. E) Data Langsung & Integrasi 13) Apakah Anda memerlukan data langsung/bersama? [Tidak (khusus lokal)] [Ya: dari API] [Ya: Supabase (dipandu)] [Layanan lainnya: ___] 14) Jika API: beri nama layanan + data yang Anda inginkan (atau ucapkan "Sarankan API/endpoint"). 15) Apakah ada kunci pribadi yang terlibat? [Ya/Tidak]. Jika Ya, kami akan merutekan panggilan tersebut melalui Fungsi Backend Rork. F) Masuk / Paywall / Pemberitahuan (opsional) 16) Masuk: [Tidak login] [Email/Kata Sandi] [Tautan ajaib] [Apple] [Google] 17) Langganan atau membuka kunci satu kali? Jika ya: apa yang dimaksud dengan terbuka berbayar? 18) Pemberitahuan push? [Tidak] [Iya]. Jika Ya: 3 pemicu + contoh salinan. G) Getaran Visual & Nada 19) 6–8 kata-kata getaran (misalnya, tenang, berani, main-main, premium). 20) Aplikasi/situs referensi (dan apa yang Anda sukai). 21) Nada salin: [Ramah] [Langsung] [Menyenangkan] [Profesional] [Seperti pelatih] H) Akses & Inklusi 22) Bahasa/wilayah? Aksesibilitas yang harus dimiliki (ukuran font, kontras tinggi, VoiceOver)? 23) Apakah ada konten sensitif atau batas usia? I) Analitik (opsional) 24) Analitik: [Nonaktif (default)] [Aktif]. Jika AKTIF: 3 peristiwa yang paling penting. -------------------------------- FORMAT HASIL & OUTPUT -------------------------------- # Spesifikasi Aplikasi Rork-Ready (Front-End + Backend Terpandu) ## 1) Snapshot Produk - Satu kalimat: - Untuk siapa: - Janji hari-1 (<2 menit): - Keberhasilan v1 (hasil/metrik sederhana): ## 2) Storyboard Pengalaman (3–5 adegan kecil) Adegan = Pemicu → Apa yang dilihat pengguna → Apa yang mereka lakukan → Apa yang mereka rasakan → Kesuksesan ## 3) Layar & Navigasi - Tata letak aplikasi: - Tab (jika ada): nama/ikon/urutan - Inventaris layar: | ID | Layar | Mengapa itu ada | Tindakan utama | Status kosong | |----|--------|---------------|-------------|-------------| - Aturan navigasi (apa yang terbuka dari mana; perilaku belakang) ## 4) Alur Inti (daftar langkah dengan kesalahan ramah) - Aliran A: Pemicu → Langkah 1 → Langkah 2 → ... → Sukses / Kegagalan (+ pesan) - Aliran B: ... - Aliran C: ... Sertakan "apa yang mungkin salah?" dan pesan yang tepat untuk pengguna. ## 5) Konten & Data (sederhana, disimpulkan secara otomatis) Jelaskan dalam bahasa sederhana (tanpa skema): - "Hal-hal" yang ditangani aplikasi dan detail yang kami simpan untuk masing-masing - Bagaimana pengguna menambahkan/mengeditnya (formulir/daftar) - Contoh item (dibersihkan dari sampel saya) - Catatan penyimpanan: [Pada perangkat], [Diambil dari<API>], atau [Disimpan melalui Fungsi Backend Rork + DB eksternal] - Gunakan [ASUMSI] saat Anda memilih default ## 6) API & Panggilan Eksternal (konkret, agnostik perpustakaan) - Daftar layanan (nama → untuk apa kami menggunakannya) - Tabel titik akhir: | Nama panggilan | Metode | Titik Akhir/Kueri | Masukan | Tanggapan (bentuk, pendek) | Autentikasi | Catatan | |-----------|--------|----------------|--------|--------------------------|------|-------| - Setiap panggilan yang membutuhkan rahasia → menandai **[Gunakan Fungsi Backend Rork]** dengan alasan satu baris (sembunyikan kunci, batas laju, transformasi). - Berikan 2-3 contoh permintaan/tanggapan untuk panggilan yang paling penting. ## 7) Sistem Visual (token dari getaran) - Warna (HEX): Primer, Sekunder, Latar Belakang, Permukaan, Teks (primer/sekunder), Keberhasilan, Peringatan, Kesalahan - Skala jenis: H1/H2/H3, Tubuh, Keterangan (keluarga + px) - Bentuk & spasi: jari-jari + langkah jarak (misalnya, 4/8/12/16/24) - Gerakan: durasi (misalnya, 120/200/320ms) + pelonggaran - Saran set ikon ## 8) Salin & Negara - Judul, tombol, teks pembantu untuk setiap layar - Status kosong (apa yang dilihat pengguna tanpa data) - Pesan kesalahan (polos, ramah, berorientasi pada tindakan) ## 9) UX opsional (hanya jika dipilih) - **Masuk**: layar + salinan. Beri label **[Diperlukan Pengaturan Terpandu]** dan sertakan skrip di bawah ini agar Rork menanyakan apa yang dibutuhkan. - **Paywall (langganan/satu kali)**: salinan paywall + apa yang tidak terkunci. Beri label **[Diperlukan Pengaturan Terpandu]** (+ skrip). - **Notifikasi**: pemicu, contoh salinan push, deep link. - **Analytics**: nama peristiwa + saat diaktifkan (jika aktif). ## 10) Aksesibilitas & Inklusi - Penskalaan font, target kontras (≥4.5:1), target hit (≥44×44), label pembaca layar - Batasan konten atau batas usia apa pun ## 11) Kesiapan Toko - Nama aplikasi, subtitle, 3–5 tema kata kunci - Deskripsi singkat (≤80 karakter) + deskripsi lengkap - Paket tangkapan layar (layar + teks) - Catatan "label nutrisi" privasi (data apa, mengapa) - URL dukungan & email kontak - **Menerbitkan catatan**: Gunakan penerbitan **App Store** bawaan Rork; **Google Play** memerlukan ekspor ke Expo EAS. [Informasi] [ASUMSI] di mana saya tidak menentukan. ## 12) Pengaturan Terpandu — Skrip untuk Rork berjalan bersama saya (Hanya sertakan bagian yang relevan dengan apa yang saya pilih.) ### 12A) Supabase (DB + Auth) — jika diminta - **Tujuan**: Gunakan Supabase untuk data cloud dan/atau autentikasi tanpa mengungkap rahasia. - **Rork harus BERTANYA kepada saya** (satu per satu): 1) "Tempel URL Proyek Supabase Anda" 2) "Tempelkan kunci **anon/publik** Anda (aman klien)." 3) "Tempel tombol **peran layanan** Anda (khusus server). Ini hanya akan disimpan di **Fungsi Backend Rork** untuk melindunginya." 4) "Apakah Anda ingin autentikasi Email/Kata Sandi atau Tautan Ajaib?" 5) "Cantumkan 'hal' yang Anda inginkan di cloud (misalnya, latihan, catatan). Untuk masing-masing, konfirmasikan bidang sederhana yang ingin Anda simpan." - **Rork harus LAKUKAN**: - Buat **Fungsi Backend Rork** untuk panggilan apa pun yang memerlukan rahasia (baca/tulis menggunakan peran layanan; pertukaran token autentikasi). - Mengonfigurasi klien untuk menggunakan **anon key** untuk pembacaan publik saat aman; gunakan Fungsi Backend untuk penulisan atau pembacaan yang dilindungi. - Hasilkan tabel minimal berdasarkan "hal-hal & detail" saya (nama, bidang, jenis) dan rencana migrasi. Jika tidak yakin, usulkan default dan tandai [ASUMSI]. - Verifikasi penyiapan: jalankan panggilan pemeriksaan kondisi dan konfirmasikan keberhasilan/kegagalan dengan pesan ramah. - **Catatan**: Jika login sosial (Apple/Google) diminta, beri tahu saya bahwa saya memerlukan Expo Dev Build khusus setelah ekspor; pertahankan layar UX di tempatnya dan tandai sebagai **[Memerlukan Ekspor + EAS]**. ### 12B) Email Login atau Tautan Ajaib — jika diminta - **TANYA**: "Apakah Anda ingin Email/Kata Sandi atau Tautan Ajaib? Nama/email pengirim, mana yang harus dilihat pengguna?" -**MELAKUKAN**: - Perancah layar front-end (Masuk, Daftar, Lupa Kata Sandi / Tautan Ajaib). - Jika menggunakan Supabase: sambungkan ke Supabase Auth melalui Fungsi Backend atau SDK klien jika aman; jika tidak, tag sebagai **[Memerlukan Ekspor + EAS]**. - Berikan pesan salinan dan kesalahan; konfirmasikan tes pulang pergi dengan saya. ### 12C) Langganan / Pembelian — jika diminta - **TANYA**: "Apa yang tidak terkunci dengan Pro? Harga? Uji coba gratis?" -**MELAKUKAN**: - Bangun paywall dan 'kelola UX langganan'. - Tandai integrasi sebagai **[Memerlukan Ekspor + EAS]** dan sarankan RevenueCat atau sejenisnya. Jaga agar UI tetap aktif dengan status tiruan dan tombol 'Pulihkan pembelian'. ### 12D) Pemberitahuan Push — jika diminta - **ASK**: "Daftar 2–3 pemicu untuk push; ada jam tenang?" -**MELAKUKAN**: - Terapkan notifikasi lokal dalam aplikasi sekarang; tag push jarak jauh sebagai **[Memerlukan Ekspor + EAS]** dan menyarankan pengaturan FCM setelah ekspor. ## 13) Instruksi Pembuatan Rork (siap tempel) === MULAI PROMPT RORK === Bangun aplikasi React Native lintas platform dengan Expo mengikuti "Spesifikasi Aplikasi Rork-Ready (Front-End + Guided Backend)" di atas. Kendala - JANGAN membuat server khusus. Untuk panggilan apa pun yang membutuhkan rahasia atau akses tulis, buat **Fungsi Backend Rork** dan mintalah saya untuk kunci yang diperlukan selama **Pengaturan Terpandu**. Fungsi Backend Rork didukung oleh TRPC. - Data lokal menggunakan penyimpanan di perangkat; data jarak jauh hanya menggunakan API eksternal atau Supabase yang tercantum secara eksplisit (jika dipilih). - Terapkan Layar, Navigasi, Alur Inti, token Visual, dan Salin persis seperti yang ditentukan. - Menerapkan status kosong/pemuatan/kesalahan yang ramah. - Jika Log-in/Paywall/Notifications/Analytics TIDAK dipilih, hilangkan. - Siapkan **Pratinjau Aplikasi** dan **Rencana build **App Store-ready**. Perhatikan bahwa **Google Play** memerlukan ekspor + Expo EAS. - Jika ada yang ambigu, pilih default yang masuk akal dan tandai [ASUMSI] di komentar. === AKHIRI PROMPT RORK === ## 14) Ide Iterasi Berikutnya - 3 kemenangan cepat untuk kejelasan/kecepatan - 3 ide untuk meningkatkan aktivasi/retensi
4,48K