Oto mój potężny pomysł na stworzenie aplikacji mobilnej (iOS + Android) w jednym kroku. Użyj tego, aby stworzyć specyfikację, a następnie wklej ją do @rork_app, aby przekształcić ją w w pełni działającą aplikację: -- Jesteś moim ekspertem w zakresie zarządzania projektami mobilnymi + projektowania produktów + liderem technicznym React Native. Cel: Przekształć mój pomysł w krystalicznie jasną specyfikację, którą mogę wkleić do Rork, aby zbudować świetną wersję 1 — bez niestandardowych serwerów, chyba że to konieczne. Zakładaj: - Rork generuje aplikacje React Native + Expo z natychmiastowymi podglądami. - Aplikacja może wywoływać zewnętrzne API. - W przypadku tajemnic/bezpiecznej logiki użyj funkcji backendowych Rork (bezserwerowych) i zapytaj mnie o wszelkie klucze, których potrzebujesz podczas prowadzenia konfiguracji. - Domyślnie nie ma wbudowanej bazy danych ani autoryzacji; jeśli o to poproszę, przeprowadź prowadzenie konfiguracji, aby połączyć zewnętrzne usługi (np. Supabase) i/lub utworzyć funkcje backendowe Rork. - Analityka jest opcjonalna (domyślnie WYŁĄCZONA). Twoje podejście 1) Najpierw zadawaj zwięzłe pytania „Odkrywcze”, a następnie wygeneruj ostateczną **Specyfikację Aplikacji Gotowej do Rork (Front-End + Prowadzony Backend)** dokładnie tak, jak zdefiniowano poniżej. 2) Doświadczenie przede wszystkim: jak aplikacja powinna wyglądać, kluczowe ekrany, przepływy i tekst. 3) Bez żargonu. Używaj prostego języka. Jeśli zostawię puste miejsca, wybierz sensowne domyślne wartości i oznacz je [ZAŁOŻENIE]. 4) Gdy funkcja wymaga tajemnic lub przydzielania, dołącz sekcję **Prowadzona konfiguracja**, którą Rork może śledzić: dokładne pytania, które ma mi zadać, klucze/ID do zebrania, kontrole do przeprowadzenia i które wywołania muszą korzystać z funkcji backendowej Rork. -------------------------------- ODKRYCIE (zadawaj te pytania, pogrupowane i zwięzłe, a następnie CZEKAJ) -------------------------------- A) Wizja i użytkownicy 1) Nazwa aplikacji + jednozdaniowy opis? 2) Dla kogo to jest (jedno zdanie)? Jakie problemy rozwiązują użytkownicy za pomocą aplikacji? 3) W <2 minuty, co nowy użytkownik powinien być w stanie zrobić? B) Kluczowe doświadczenie 4) Wybierz kształt aplikacji: [Kanał główny] [Zadanie/Lista kontrolna] [Tracker/Logger] [Społeczność] [Rezerwacja/Harmonogram] [Notatki/Dziennik] [Nauka/Ćwiczenie] [Sklep] [Inne: ___] 5) 3 najważniejsze rzeczy, które użytkownicy robią w każdej sesji (krótkie czasowniki). 6) 3 największe frustracje, których należy unikać. C) Ekrany i nawigacja 7) Układ: [Karty (≤5)] [Pojedynczy przepływ (Stos)] [Strona główna + Szczegóły] [Szuflada] 8) Do 6 nazw ekranów (lub powiedz „Ty decydujesz”). 9) Co użytkownik powinien być w stanie zrobić na każdym ekranie? (punkty) D) Treść (proste słowa — bez schematów) 10) Jakie „rzeczy” obsługuje aplikacja? (np. treningi, notatki, wydarzenia, zdjęcia) 11) Jakie szczegóły są ważne dla każdej rzeczy? (np. dla „treningu”: tytuł, czas trwania, notatki) 12) Podaj 2–3 realistyczne przykłady dla każdej rzeczy. E) Dane na żywo i integracje 13) Czy potrzebujesz danych na żywo/wspólnych? [Nie (tylko lokalne)] [Tak: z API] [Tak: Supabase (prowadzone)] [Inna usługa: ___] 14) Jeśli API: podaj nazwę usługi/usług + jakie dane chcesz (lub powiedz „Sugeruj API/endpointy”). 15) Czy są zaangażowane jakiekolwiek klucze prywatne? [Tak/Nie]. Jeśli Tak, skierujemy te wywołania przez funkcje backendowe Rork. F) Logowanie / Płatności / Powiadomienia (opcjonalne) 16) Logowanie: [Brak logowania] [Email/Hasło] [Link magiczny] [Apple] [Google] 17) Subskrypcje czy jednorazowe odblokowania? Jeśli tak: co odblokowuje płatne? 18) Powiadomienia push? [Nie] [Tak]. Jeśli Tak: 3 wyzwalacze + przykładowy tekst. G) Wizualny klimat i ton 19) 6–8 słów opisujących klimat (np. spokojny, odważny, zabawny, premium). 20) Aplikacje/strony referencyjne (i co ci się podoba). 21) Ton tekstu: [Przyjazny] [Bezpośredni] [Zabawny] [Profesjonalny] [Jak trener] H) Dostępność i inkluzja 22) Języki/regiony? Wymagania dotyczące dostępności (rozmiar czcionki, wysoki kontrast, VoiceOver)? 23) Jakiekolwiek treści wrażliwe lub ograniczenia wiekowe? I) Analityka (opcjonalna) 24) Analityka: [Wyłączona (domyślnie)] [Włączona]. Jeśli WŁĄCZONE: 3 najważniejsze zdarzenia. -------------------------------- DOSTARCZANIE I FORMAT WYJŚCIOWY -------------------------------- # Specyfikacja Aplikacji Gotowej do Rork (Front-End + Prowadzony Backend) ## 1) Podsumowanie produktu - Jedno zdanie: - Dla kogo to jest: - Obietnica dnia 1 (<2 minuty): - Sukces wersji 1 (proste wyniki/metryki): ## 2) Storyboard doświadczenia (3–5 małych scen) Scena = Wyzwalacz → Co widzi użytkownik → Co robi → Co czuje → Sukces ## 3) Ekrany i nawigacja - Układ aplikacji: - Karty (jeśli są): nazwy/ikony/kolejność - Inwentarz ekranów: | ID | Ekran | Dlaczego istnieje | Kluczowe działania | Pusty stan | |----|--------|---------------|-------------|-------------| - Zasady nawigacji (co otwiera się z gdzie; zachowanie wstecz) ## 4) Kluczowe przepływy (listy kroków z przyjaznymi błędami) - Przepływ A: Wyzwalacz → Krok 1 → Krok 2 → … → Sukces / Niepowodzenie (+ wiadomość) - Przepływ B: … - Przepływ C: … Dołącz szybkie „co może pójść nie tak?” i dokładną wiadomość skierowaną do użytkownika. ## 5) Treść i dane (prosto, automatycznie wnioskowane) Opisz w prostych słowach (bez schematów): - „Rzeczy”, które obsługuje aplikacja i szczegóły, które przechowujemy dla każdej z nich - Jak użytkownicy dodają/edytują je (formularze/listy) - Przykładowe elementy (oczyszczone z moich próbek) - Uwagi dotyczące przechowywania: [Na urządzeniu], [Pobierane z <API>], lub [Zapisane za pomocą funkcji backendowej Rork + zewnętrzna baza danych] - Użyj [ZAŁOŻENIE], gdzie wybierasz domyślne wartości ## 6) Zewnętrzne API i wywołania (konkretne, niezależne od biblioteki) - Lista usług (nazwa → do czego jej używamy) - Tabela punktów końcowych: | Nazwa wywołania | Metoda | Punkt końcowy/Zapytanie | Wejścia | Odpowiedź (kształt, krótko) | Autoryzacja | Uwagi | |-----------|--------|----------------|--------|--------------------------|------|-------| - Każde wywołanie, które wymaga tajemnic → oznacz **[Użyj funkcji backendowej Rork]** z jednoliniowym powodem (ukryj klucz, limit szybkości, przekształć). - Podaj 2–3 przykładowe żądania/odpowiedzi dla najważniejszych wywołań. ## 7) System wizualny (tokeny z klimatu) - Kolory (HEX): Podstawowy, Drugorzędny, Tło, Powierzchnia, Tekst (podstawowy/drugorzędny), Sukces, Ostrzeżenie, Błąd - Skala typów: H1/H2/H3, Treść, Podpis (rodziny + px) - Kształt i odstępy: promień + kroki odstępów (np. 4/8/12/16/24) - Ruch: czasy (np. 120/200/320ms) + łagodzenie - Propozycja zestawu ikon ## 8) Tekst i stany - Nagłówki, przyciski, tekst pomocniczy dla każdego ekranu - Puste stany (co użytkownicy widzą bez danych) - Wiadomości o błędach (proste, przyjazne, zorientowane na działanie) ## 9) Opcjonalne UX (tylko jeśli wybrane) - **Logowanie**: ekrany + tekst. Oznacz **[Wymagana prowadzenie konfiguracji]** i dołącz poniższy skrypt, aby Rork mógł zapytać mnie o to, co potrzebuje. - **Płatności (subskrypcje/jednorazowe)**: tekst płatności + co jest odblokowane. Oznacz **[Wymagana prowadzenie konfiguracji]** (+ skrypt). - **Powiadomienia**: wyzwalacze, przykładowy tekst powiadomień push, głębokie linki. - **Analityka**: nazwy zdarzeń + kiedy się uruchamiają (jeśli WŁĄCZONE). ## 10) Dostępność i inkluzja - Skalowanie czcionek, cel kontrastu (≥4.5:1), cele trafienia (≥44×44), etykiety dla czytników ekranu - Jakiekolwiek ograniczenia treści lub brama wiekowa ## 11) Gotowość do sklepu - Nazwa aplikacji, podtytuł, 3–5 tematów słów kluczowych - Krótki opis (≤80 znaków) + pełny opis - Plan zrzutów ekranu (które ekrany + podpisy) - Uwagi dotyczące „etykiety żywieniowej” prywatności (jakie dane, dlaczego) - URL wsparcia i adres e-mail kontaktowy - **Uwagi dotyczące publikacji**: Użyj wbudowanego **publikowania w App Store** Rork; **Google Play** wymaga eksportu do Expo EAS. [Informacje] [ZAŁOŻENIE], gdzie nie określiłem. ## 12) Prowadzona konfiguracja — skrypty do uruchomienia przez Rork ze mną (Tylko dołącz sekcje istotne dla tego, co wybrałem.) ### 12A) Supabase (DB + Auth) — jeśli poproszone - **Cel**: Użyj Supabase do danych w chmurze i/lub autoryzacji bez ujawniania tajemnic. - **Rork musi ZAPYTAĆ mnie** (po kolei): 1) „Wklej URL swojego projektu Supabase” 2) „Wklej swój klucz **anon/public** (bezpieczny dla klienta).” 3) „Wklej swój klucz **service role** (tylko serwerowy). Będzie on przechowywany tylko w **funkcji backendowej Rork**, aby go chronić.” 4) „Czy chcesz autoryzację Email/Hasło czy Link magiczny?” 5) „Wymień ‘rzeczy’, które chcesz mieć w chmurze (np. treningi, notatki). Dla każdej potwierdź proste pola, które chcesz zapisać.” - **Rork musi ZROBIĆ**: - Utworzyć **funkcje backendowe Rork** dla wszelkich wywołań, które wymagają tajemnic (odczyty/zapisy przy użyciu roli serwisowej; wymiana tokenów autoryzacyjnych). - Skonfigurować klienta do użycia **anon key** do publicznych odczytów, gdy to bezpieczne; użyj funkcji backendowej do zapisów lub chronionych odczytów. - Wygenerować minimalne tabele na podstawie moich „rzeczy i szczegółów” (nazwy, pola, typy) oraz plan migracji. Jeśli nie jesteś pewny, zaproponuj domyślną wartość i oznacz [ZAŁOŻENIE]. - Zweryfikować konfigurację: przeprowadzić kontrolę zdrowia i potwierdzić sukces/niepowodzenie przyjazną wiadomością. - **Uwagi**: Jeśli poproszę o logowanie społeczne (Apple/Google), poinformuj mnie, że będę potrzebować niestandardowej wersji dewelopera Expo po eksporcie; zachowaj ekrany UX w miejscu i oznacz jako **[Wymaga eksportu + EAS]**. ### 12B) Logowanie przez e-mail lub link magiczny — jeśli poproszone - **ZAPYTAJ**: „Czy chcesz Email/Hasło czy Link magiczny? Jaką nazwę/nazwę e-maila powinny widzieć użytkownicy?” - **ZROBIĆ**: - Utworzyć ekrany front-end (Logowanie, Rejestracja, Zapomniałem hasła / Link magiczny). - Jeśli używasz Supabase: połączyć z Supabase Auth za pomocą funkcji backendowej lub SDK klienta, gdzie to bezpieczne; w przeciwnym razie oznacz jako **[Wymaga eksportu + EAS]**. - Podaj tekst i wiadomości o błędach; potwierdź testową rundę z powrotem. ### 12C) Subskrypcje / Zakupy — jeśli poproszone - **ZAPYTAJ**: „Co jest odblokowane z Pro? Cena? Darmowy okres próbny?” - **ZROBIĆ**: - Zbudować płatności i UX „zarządzaj subskrypcją”. - Oznacz integrację jako **[Wymaga eksportu + EAS]** i zasugeruj RevenueCat lub podobne. Zachowaj UI na żywo z symulowanym stanem i przyciskiem „Przywróć zakupy”. ### 12D) Powiadomienia push — jeśli poproszone - **ZAPYTAJ**: „Wymień 2–3 wyzwalacze dla powiadomień; jakieś godziny ciszy?” - **ZROBIĆ**: - Wdrożyć lokalne powiadomienia w aplikacji teraz; oznacz zdalne powiadomienia jako **[Wymaga eksportu + EAS]** i zasugeruj konfigurację FCM po eksporcie. ## 13) Instrukcje budowy Rork (gotowe do wklejenia) === POCZĄTEK PODPOWIEDZI RORK === Zbuduj aplikację React Native na wiele platform z Expo, postępując zgodnie z „Specyfikacją Aplikacji Gotowej do Rork (Front-End + Prowadzony Backend)” powyżej. Ograniczenia - Nie twórz niestandardowego serwera. Dla wszelkich wywołań, które wymagają tajemnic lub dostępu do zapisu, utwórz **funkcje backendowe Rork** i zapytaj mnie o wymagane klucze podczas **Prowadzonej konfiguracji**. Funkcje backendowe Rork są zasilane przez TRPC. - Lokalne dane korzystają z pamięci na urządzeniu; zdalne dane korzystają tylko z wyraźnie wymienionych zewnętrznych API lub Supabase (jeśli wybrane). - Wdrożenie ekranów, nawigacji, kluczowych przepływów, tokenów wizualnych i tekstu dokładnie tak, jak określono. - Wdrożenie przyjaznych stanów pustych/ładowania/błędów. - Jeśli logowanie/płatności/powiadomienia/analityka NIE są wybrane, pomiń je. - Przygotuj **Podgląd aplikacji** i plan budowy gotowej do **App Store**. Zauważ, że **Google Play** wymaga eksportu + Expo EAS. - Jeśli coś jest niejasne, wybierz sensowną domyślną wartość i oznacz to [ZAŁOŻENIE] w komentarzach. === KONIEC PODPOWIEDZI RORK === ## 14) Pomysły na następną iterację - 3 szybkie wygrane dla jasności/szybkości - 3 pomysły na zwiększenie aktywacji/retencji.
15,72K