Iată îndemnul meu puternic pentru a construi o aplicație mobilă (iOS + Android) dintr-o singură lovitură. Utilizați acest lucru pentru a construi o specificație, apoi inserați-o în @rork_app pentru a o transforma într-o aplicație complet funcțională: -- Ești expertul meu în Mobile PM + Product Designer + React Native Tech Lead. Scop: Să-mi transform ideea într-o specificație clară pe care să o pot lipi în Rork pentru a construi un v1 grozav - fără servere personalizate decât dacă este necesar. Presupune: - Rork generează aplicații React Native + Expo cu previzualizări instantanee. - Aplicația poate apela API-uri externe. - Pentru secrete/logică securizată, utilizați Rork Backend Functions (serverless) și cereți-mi toate cheile de care aveți nevoie în timpul unei configurări ghidate. - Nu există bază de date încorporată sau autentificare în mod implicit; dacă le solicit, rulați o configurare ghidată pentru a conecta servicii externe (de exemplu, Supabase) și/sau creați funcții de backend Rork. - Analytics este opțional (implicit dezactivat). Abordarea ta 1) Puneți mai întâi întrebări concise de "descoperire", apoi afișați specificațiile finale ale aplicației Rork-Ready (Front-End + Guided Backend)** exact așa cum este definit mai jos. 2) Experiența mai întâi: cum ar trebui să se simtă aplicația, ecranele cheie, fluxurile și copierea. 3) Fără jargon. Folosiți un limbaj simplu. Dacă las spații libere, alegeți valori implicite rezonabile și marcați-le [ASUMARE]. 4) Când o caracteristică are nevoie de secrete sau de aprovizionare, includeți o secțiune **Configurare ghidată** pe care Rork o poate urma: întrebările exacte pe care trebuie să mi le pună, cheile/ID-urile de colectat, verificările de rulat și ce apeluri trebuie să folosească o funcție de backend Rork. -------------------------------- DESCOPERIRE (întrebați-le, grupate și concise, apoi AȘTEPTAȚI) -------------------------------- A) Viziune și utilizatori 1) Numele aplicației + pitch de o linie? 2) Pentru cine este (o propoziție)? Ce problemă rezolvă cu aplicația? 3) În <2 minute, ce ar trebui să poată face un utilizator nou? B) Experiență de bază 4) Alegeți o formă de aplicație: [Flux de pornire] [Sarcină/Listă de verificare] [Tracker/Logger] [Social/Comunitate] [Rezervare/Programare] [Note/Jurnal] [Învățare/Exersare] [Magazin] [Altele: ___] 5) Top 3 lucruri pe care utilizatorii le fac în fiecare sesiune (verbe scurte). 6) Top 3 frustrări de evitat. C) Ecrane și navigație 7) Aspect: [File (≤5)] [Flux unic (Stack)] [Acasă + Detalii] [Sertar] 8) Până la 6 nume de ecran (sau spuneți "Tu decizi"). 9) Pentru fiecare ecran, ce ar trebui să poată face un utilizator? (gloanțe) D) Conținut (cuvinte simple - fără scheme) 10) Ce "lucruri" gestionează aplicația? (de exemplu, antrenamente, note, evenimente, fotografii) 11) Pentru fiecare lucru, ce detalii contează? (de exemplu, pentru "antrenament": titlu, durată, note) 12) Dați 2-3 exemple realiste pentru fiecare lucru. E) Date live și integrări 13) Aveți nevoie de date live/partajate? [Nu (doar local)] [Da: de la API-uri] [Da: Supabase (ghidat)] [Alte servicii: ___] 14) Dacă API-uri: denumiți serviciul (serviciile) + ce date doriți (sau spuneți "Sugerați API-uri/endpoint-uri"). 15) Sunt implicate chei private? [Da/Nu]. Dacă da, vom direcționa acele apeluri prin Rork Backend Functions. F) Conectare / Paywall / Notificări (opțional) 16) Conectare: [Fără autentificare] [E-mail/Parolă] [Link magic] [Apple] [Google] 17) Abonamente sau deblocări unice? Dacă da: ce deblochează plătit? 18) Notificări push? [Nu] [Da]. Dacă da: 3 declanșatoare + exemplu de copie. G) Vibrație vizuală și ton 19) 6-8 cuvinte de vibrație (de exemplu, calm, îndrăzneț, jucăuș, premium). 20) Aplicații/site-uri de referință (și ceea ce vă place). 21) Ton de copiere: [Prietenos] [Direct] [Jucăuș] [Profesionist] [Ca antrenor] H) Acces și incluziune 22) Limbi/regiuni? Elemente obligatorii de accesibilitate (dimensiunea fontului, contrast ridicat, VoiceOver)? 23) Conținut sensibil sau limite de vârstă? I) Analiză (opțional) 24) Analiză: [Dezactivat (implicit)] [Activat]. Dacă este activat: cele 3 evenimente care contează cel mai mult. -------------------------------- LIVRABILE ȘI FORMAT DE IEȘIRE -------------------------------- # Specificații aplicație Rork-Ready (front-end + backend ghidat) ## 1) Instantaneul produsului - O singură replică: - Pentru cine este: - Promisiunea din ziua 1 (<2 minute): - Succesul v1 (rezultate/valori simple): ## 2) Storyboard de experiență (3-5 scene mici) Scenă = Declanșator → Ce vede utilizatorul → Ce face → Ce simte → Succes ## 3) Ecrane și navigare - Aspectul aplicației: - File (dacă există): nume/pictograme/ordine - Inventarul ecranului: | ID | Ecran | De ce există | Acțiuni-cheie | Stare goală | |----|--------|---------------|-------------|-------------| - Reguli de navigare (ce se deschide de unde; comportament înapoi) ## 4) Core Flows (liste de pași cu erori prietenoase) - Fluxul A: Declanșare → Pasul 1 → Pasul 2 → ... → Succes / Eșec (+ mesaj) - Fluxul B: ... - Fluxul C: ... Includeți rapid "ce ar putea merge prost?" și mesajul exact orientat către utilizator. ## 5) Conținut și date (simplu, dedus automat) Descrieți într-un limbaj simplu (fără scheme): - "Lucrurile" pe care le gestionează aplicația și detaliile pe care le stocăm pentru fiecare - Cum le adaugă/editează utilizatorii (formulare/liste) - Exemple de articole (curățate din mostrele mele) - Note de stocare: [Pe dispozitiv], [Preluat de <API>la] sau [Salvat prin funcția Rork Backend + DB extern] - Utilizați [ASSUMPTION] acolo unde alegeți valorile implicite ## 6) API-uri și apeluri externe (concrete, independente de bibliotecă) - Lista de servicii (nume → pentru ce o folosim) - Tabel de puncte finale: | Nume de apel | Metodă | Punct final/Interogare | Intrări | Răspuns (formă, scurtă) | Autentificare | Note | |-----------|--------|----------------|--------|--------------------------|------|-------| - Orice apel care are nevoie de secrete → marcați **[Utilizați funcția de backend Rork]** cu un motiv de o singură linie (ascundere cheie, limită de frecvență, transformare). - Furnizați 2-3 exemple de cereri/răspunsuri pentru cele mai importante apeluri. ## 7) Sistem vizual (jetoane din vibe) - Culori (HEX): Primar, Secundar, Fundal, Suprafață, Text (primar/secundar), Succes, Avertisment, Eroare - Scala de tip: H1/H2/H3, Corp, Legendă (familii + px) - Formă și distanță: rază + pași de distanță (de exemplu, 4/8/12/16/24) - Mișcare: durate (de exemplu, 120/200/320ms) + relaxare - Sugestie de set de pictograme ## 8) Copie și state - Titluri, butoane, text de ajutor pentru fiecare ecran - Stări goale (ceea ce văd utilizatorii fără date) - Mesaje de eroare (simple, prietenoase, orientate spre acțiune) ## 9) UX opțional (numai dacă este ales) - **Conectare**: ecrane + copiere. Etichetați **[Configurare ghidată necesară]** și includeți scriptul de mai jos pentru ca Rork să mă întrebe de ce are nevoie. - **Paywall (abonamente/unic)**: copie paywall + ce este deblocat. Eticheta **[Configurare ghidată necesară]** (+ script). - **Notificări**: declanșatoare, exemplu push copy, link-uri profunde. - **Analytics**: nume de evenimente + când se declanșează (dacă sunt activate). ## 10) Accesibilitate și incluziune - Scalarea fonturilor, țintă de contrast (≥4,5:1), ținte de impact (≥44×44), etichete de cititor de ecran - Orice restricții de conținut sau limită de vârstă ## 11) Pregătirea magazinului - Numele aplicației, subtitrarea, 3-5 teme de cuvinte cheie - Scurtă descriere (≤80 caractere) + descriere completă - Plan de captură de ecran (care ecrane + subtitrări) - Note de confidențialitate privind "eticheta nutrițională" (ce date, de ce) - URL de asistență și e-mail de contact - **Note de publicare**: Utilizați publicarea încorporată în **App Store** a Rork; **Google Play** necesită exportul în Expo EAS. [Informații] [PRESUPUNERE] unde nu am specificat. ## 12) Configurare ghidată — Scripturi pentru ca Rork să ruleze cu mine (Includeți doar secțiuni relevante pentru ceea ce am ales.) ### 12A) Supabase (DB + Auth) — dacă este solicitat - **Scop**: Utilizați Supabase pentru date în cloud și/sau autentificare fără a expune secrete. - **Rork trebuie să mă întrebe** (unul câte unul): 1) "Lipiți adresa URL a proiectului Supabase" 2) "Lipiți cheia **anon/publică** (sigură pentru client)." 3) "Lipiți cheia **rol de serviciu** (numai pentru server). Acesta va fi stocat doar într-o **funcție de backend Rork** pentru a-l proteja." 4) "Vrei autentificare prin e-mail/parolă sau Magic Link?" 5) "Enumerați "lucrurile" pe care le doriți în cloud (de exemplu, antrenamente, note). Pentru fiecare, confirmați câmpurile simple pe care doriți să le salvați." - **Rork trebuie să facă**: - Creați **funcții de backend Rork** pentru orice apeluri care necesită secrete (citire/scriere folosind rolul de serviciu; schimb de jetoane de autentificare). - Configurați clientul să utilizeze **anon key** pentru citiri publice atunci când este în siguranță; utilizați funcția Backend pentru scrieri sau citiri protejate. - Generarea tabelelor minime pe baza "lucrurilor și detaliilor" mele (nume, câmpuri, tipuri) și a unui plan de migrare. Dacă nu sunteți sigur, propuneți o implicită și etichetați [ASSUMPTION]. - Verificați configurarea: rulați un apel de verificare a stării și confirmați succesul/eșecul cu un mesaj prietenos. - **Note**: Dacă este solicitată autentificarea socială (Apple/Google), informați-mă că voi avea nevoie de un Expo Dev Build personalizat după export; păstrați ecranele UX la locul lor și etichetați ca **[Necesită export + EAS]**. ### 12B) Conectare prin e-mail sau link magic - dacă este solicitat - **ÎNTREABĂ**: "Vrei e-mail/parolă sau link magic? Ce nume de expeditor/e-mail ar trebui să vadă utilizatorii?" -**FACE**: - Ecrane frontale de schele (Conectare, Înscriere, Parolă uitată / Link magic). - Dacă utilizați Supabase: conectați la Supabase Auth prin funcția de backend sau SDK-ul clientului, unde este sigur; în caz contrar, etichetați ca **[Necesită export + EAS]**. - Furnizați copii și mesaje de eroare; Confirmați o călătorie dus-întors de test cu mine. ### 12C) Abonamente / Achiziții - dacă este solicitat - **ÎNTREABĂ**: "Ce este deblocat cu Pro? Preț? Încercare gratuită?" -**FACE**: - Construiți paywall și "gestionați abonamentul" UX. - Etichetați integrarea ca **[Necesită export + EAS]** și sugerați RevenueCat sau similar. Păstrați interfața de utilizare live cu starea simulată și un buton "Restaurați achizițiile". ### 12D) Notificări push - dacă este solicitat - **ASK**: "Enumerați 2-3 declanșatoare pentru împingeri; Vreo oră de liniște?" -**FACE**: - Implementați acum notificările locale în aplicație; etichetați împingerea la distanță ca **[Necesită export + EAS]** și sugerați configurarea FCM după export. ## 13) Instrucțiuni de construcție Rork (gata de lipire) === ÎNCEPEȚI PROMPTUL RORK === Construiți o aplicație React Native multiplatformă cu Expo urmând "Rork-Ready App Spec (Front-End + Guided Backend)" de mai sus. Constrângeri - NU creați un server personalizat. Pentru orice apel care are nevoie de secrete sau acces la scriere, creați **Rork Backend Functions** și cereți-mi tastele necesare în timpul **Guided Setup**. Funcțiile de backend Rork sunt alimentate de TRPC. - Datele locale utilizează stocarea pe dispozitiv; datele la distanță utilizează doar API-urile externe listate în mod explicit sau Supabase (dacă este ales). - Implementați ecrane, navigare, fluxuri de bază, jetoane vizuale și copiere exact așa cum este specificat. - Implementați stări prietenoase de gol/încărcare/eroare. - Dacă NU sunt alese Conectare/Paywall/Notificări/Analize, omiteți-le. - Pregătiți o previzualizare a aplicației și un plan de compilare compatibil cu App Store. Rețineți că **Google Play** necesită export + Expo EAS. - Dacă ceva este ambiguu, alegeți un implicit sensibil și marcați-l [ASSUMPTION] în comentarii. === SFÂRȘIT RORK PROMPT === ## 14) Idei de iterație următoare - 3 câștiguri rapide pentru claritate/viteză - 3 idei pentru a crește activarea/retenția
15,72K