Aplikacja czatu AI z React Native/Flutter –> Ankieta, DB, Subskrypcja i Niestandardowe Podpowiedzi
========================================
Proszę przeanalizować brief wymagań i zwrócić
uwagę na punkty wskazane w rozdziale 10:
Orientacyjne pytania do oceny wykonawcy
========================================
1. Ogólne informacje
Cel: Aplikacja mobilna do głębokiej komunikacji z ChatGPT (OpenAI) z naciskiem na rozwój „nieliniowego myślenia” (trener poznawczy).
Jeśli opisana informacja wydaje się niejasna, w pierwszej iteracji target to AppStore.
Główne cechy
Bez własnego backendu: wykorzystanie Firebase Functions jako pośredniego serwera do tworzenia i przetwarzania promptów do OpenAI API, przechowywania klucza, kontroli limitu tokenów, tworzenia kontekstu wcześniejszych wiadomości) Również kontrola subskrypcji.
Przechowywanie danych: Firebase (Autoryzacja, Firestore/Realtime DB).
Autoryzacja: Firebase Auth (Google/Apple).
Subskrypcja: przez RevenueCat (miesięczna/roczna).
2. Stos technologiczny
Framework: Flutter (Dart) lub React Native (TypeScript/JavaScript).
Firebase:
Auth (Google, Apple, Email)
Firestore / Realtime DB (przechowywanie historii czatów, profili)
Firebase Functions (proxy do OpenAI, logika sprawdzania subskrypcji/limitów)
Firebase Remote Config (w razie potrzeby - dynamiczne ustawienia)
OpenAI API: GPT-3.5-Turbo / GPT-4 (zapytania przez Functions).
RevenueCat: zarządzanie subskrypcjami (App Store).
Platforma: iOS 13+ (początkowo).
3. Podstawowa funkcjonalność
3.1 Onboarding i tryb demo
Logo animowane (Animację zrobimy i dostarczymy osobno)
Ekran powitalny, 3-5 slajdów „intro” z opisem zalet.
Onboarding z wyborem zainteresowań (5-6 ekranów, checkboxy). Dane są przechowywane lokalnie lub w Firebase (dla anonimowego użytkownika). Onboarding uruchamia Firebase Function, aby rozpocząć czat demo, na podstawie danych uzyskanych podczas onboardingu.
Czat demo (do 10 bezpłatnych wiadomości): ChatGPT pisze pierwszą wiadomość, w odpowiedzi można wysłać ograniczoną liczbę (do 8-10 wiadomości).
Paywall po wyczerpaniu limitu demo: propozycja wykupienia subskrypcji.
Rejestracja po wykupieniu subskrypcji.
3.2 Czat (analog ChatGPT)
Kanał dialogu (użytkownik/asystent).
Historia czatów w liście (możliwość tworzenia nowych i usuwania).
Ograniczenia wiadomości (limit dzienny) w płatnej subskrypcji do 300 dziennie.
Systemowy prompt (ustawiany po stronie Functions) dla „nieliniowego” stylu odpowiedzi.
Do OpenAI również wysyłany jest kontekst N ostatnich wiadomości, lub do 15 wiadomości lub do limitu tokenów, 4000 do GPT 3.5 turbo wydaje się
3.3 Profil użytkownika
Przegląd/edycja emaila i danych z onboardingu (zainteresowania).
Informacje o aktualnej subskrypcji (RevenueCat).
Wylogowanie z konta, usunięcie danych (GDPR).
3.4 Dodatkowe ekrany
Feedback / Ocena: krótka ankieta o wrażeniach.
FAQ / Wsparcie: odpowiedzi na często zadawane pytania.
O nas / Polityki: dokumenty prawne (prywatność, umowa).
Media społecznościowe: linki do mediów społecznościowych (jeśli będą).
4. Subskrypcja i monetyzacja
RevenueCat:
Miesięczna / roczna subskrypcja.
Sprawdzanie statusu przez SDK.
Paywall z opcjami planów.
Logika limitów:
Przechowywanie licznika w Firebase (dailyMessageCount).
W Functions przed każdym zapytaniem sprawdzanie statusu subskrypcji i limitów. (Lub bardziej optymalny sposób, jeśli znasz)
5. Architektura danych (Firestore)
/users/{userId}
email, subscriptionStatus, onboardingInterests, dailyMessageCount, lastMessageDate, itd.
/users/{userId}/conversations/{conversationId}
title, type (regular / onboarding / diary), createdAt, updatedAt.
/users/{userId}/conversations/{conversationId}/messages/{messageId}
role ("user"/"assistant"), content, createdAt.
Historia czatów jest przechowywana w podkolekcjach Messages. Dla trybu demo można przechowywać lokalnie lub na anonimowym koncie.
6. Firebase Functions (logika proxy do OpenAI)
Odbieranie zapytań od klienta (tekst wiadomości, identyfikator czatu).
Sprawdzanie autoryzacji (Firebase Auth) i statusu subskrypcji (RevenueCat).
Systemowy prompt (ustawiany po stronie Functions) dla „nieliniowego” stylu odpowiedzi.
Tworzenie kontekstu dla OpenAI:
Systemowy prompt + ostatnie N wiadomości z Firestore.
Zainteresowania/ustawienia użytkownika z onboardingu.
Kontrola limitu tokenów, aby nie przekroczyć granic, które pozwala model OpenAI
Wywołanie OpenAI (GPT-3.5 / GPT-4), uzyskanie odpowiedzi.
Zapisanie odpowiedzi (asystent) w Firestore.
Obliczanie limitów: dzienny licznik, aktualizowany według UTC, liczba tokenów, itd.
Klucz OpenAI jest przechowywany w środowisku Firebase Functions lub Remote Config, nie jest przekazywany do klienta.
7. Orientacyjne etapy rozwoju (podejście MVP)
Etap 1. Ustawienia projektu
Inicjalizacja Flutter / React Native.
Ustawienia Firebase (Auth, Firestore, Functions).
Podstawowa nawigacja, „szkielet” aplikacji.
Etap 2. Onboarding i autoryzacja
Ekrany z informacyjnymi slajdami, checkboxami.
Anonimowe lub zwykłe logowanie (Google/Apple).
Przechowywanie danych onboardingu w Firestore.
Etap 3. Czat i integracja z OpenAI
Realizacja interfejsu czatu: lista czatów, kanał wiadomości.
Firebase Functions-proxy do OpenAI.
Przechowywanie historii w Firestore, aktualizacja w czasie rzeczywistym (w razie potrzeby).
Etap 4. Subskrypcja (RevenueCat), Paywall, limity
Ustawienia produktów (miesięczna / roczna).
Logika „czat demo, a potem paywall, aby kupić premium” (liczba wiadomości, sprawdzanie statusu).
Ekran paywall i scenariusz aktualizacji subskrypcji.
Etap 5. Profil, ustawienia, GDPR
Przegląd/edycja profilu, przycisk „Wyloguj”.
Usunięcie konta (z Firebase Auth i Firestore).
Ekran „Feedback”, „FAQ” itd.
Etap 6. Testowanie i wydanie
Sprawdzanie scenariuszy (logowanie, czat, subskrypcja, usunięcie).
Publikacja w App Store.
(W razie potrzeby — Etap 7: Dodatkowe tryby myślenia, „dziennik spostrzeżeń”, lokalizacja, itd.)
[Nagrania ekranów w miarę gotowości - recordings.]
8. Orientacyjne kryteria akceptacji (MVP)
Onboarding:
a) Logo
b) Slajd informacyjny
c) Ankieta onboardingowa (zbieranie danych -> wysłane do Function, aby uruchomić czat demo)
d) działa logika trybu demo (do 8 odpowiedzi czatu i od czatu również 8 wiadomości) + Paywall po limicie.Czat: wysyłanie i odbieranie odpowiedzi od GPT; historia przechowywana w Firebase.
Obliczanie subskrypcji: przy płatności przez RevenueCat wyświetla się „premium” w Firebase, znoszone są ograniczenia.
Profil: edytowanie danych, przegląd statusu subskrypcji, usunięcie konta.
Bezpieczeństwo: brak „wycieku” klucza OpenAI, wszystko działa przez Functions.
Stabilność: tryb offline pokazuje stare wiadomości, bez awarii aplikacji.
9. Projekt i UI/UX
Podstawowy układ pod iPhone SE (750×1334), iPhone 12–15 (1170×2532), iPhone 15 Pro Max (1290×2796).
Styl: minimalistyczny, z animacjami ładowania odpowiedzi GPT.
Figma/Prototyp: Dostarczane są mockupy Figma w własnym stylu z wykorzystaniem Cupertino UI kit. Będzie możliwość komunikacji z projektantem UI/UX, jeśli zajdzie potrzeba coś zmienić, poprawić itp.
10. Orientacyjne pytania do oceny wykonawcy
Czas realizacji MVP (w tym ustawienia Firebase, RevenueCat, podstawowy czat, publikacja w AppStore).
Jak najdokładniejsza cena, za którą wykonawca jest gotów opracować opisaną aplikację. Powinna obejmować QA, czyli doprowadzenie do stanu roboczego, przekazanie kodu i certyfikatów, publikację w AppStore.
Czy był doświadczenie z OpenAI API, Firebase Functions, RevenueCat, aby uwzględnić potencjalne ryzyka: ograniczenia OpenAI, zasady App Store, GDPR.
Dalsze wsparcie: warunki aktualizacji, poprawki błędów i skalowanie.
-
Уточніть будь ласка - ви вказали що розробка на Flutter, але по тексту ТЗ в основному йдеться тільки про IOS додаток. Скажіть, розробка потрібна під обидві платформи?
-
Доброго дня. Девелопер зміг би точніше оцінити, яки бачив мокапи. Можете надати покликання для оцінки?
-
Aktualne zlecenia dla freelancerów w kategorii Javascript & Typescript
Full-stack rozwój — Amazon PPC Dashboard (Etap 1)Potrzebny programista full-stack z doświadczeniem w pracy z Amazon API do realizacji Etapu 1 wewnętrznego dashboardu PPC. Projekt realny, dane żywe, wszystko gotowe do startu. Prototyp frontendu (5 stron, React + TypeScript): CO JUŻ GOTOWE — Prototyp frontendu na React 18 +… Javascript & Typescript, Programowanie stron internetowych ∙ 7 godzin 12 minut temu ∙ 12 ofert |
Opracowanie strony internetowej do tworzenia fotoksiążek i ram fotowychCel projektuNależy opracować nowoczesną stronę internetową do zamawiania fotoksiążek, ram fotowych i innych spersonalizowanych produktów fotograficznych.Głównym celem projektu jest umożliwienie klientowi samodzielnego stworzenia gotowego projektu produktu bez udziału projektanta… Javascript & Typescript, Programowanie stron internetowych ∙ 1 dzień 23 godziny temu ∙ 88 ofert |
Full-stack rozwójPotrzebny jest programista full-stack, który jest dostępny do pracy i nie chce od razu wzbogacić się na tym projekcie. To jest moja strona testowa: readyhome.ge prototyp, który chcę stworzyć (nie mam na myśli designu). W stopce w języku rosyjskim, wypełnij ankietę i przejdź… Javascript & Typescript, Programowanie stron internetowych ∙ 2 dni 11 godzin temu ∙ 79 ofert |
Zespół do samodzielnie stworzonej platformy rynkowej usług pogrzebowych.Poszukujemy zespołu do uruchomienia i rozwoju autorskiej krajowej platformy rynkowej usług pogrzebowych. Od razu: nie szukamy pojedynczych osób, juniorów ani "zbieraczy stron". Potrzebny jest silny zespół produktowy na poziomie middle+/senior z rzeczywistymi przypadkami… Javascript & Typescript, Programowanie stron internetowych ∙ 2 dni 17 godzin temu ∙ 25 ofert |
Dopracowanie istniejącego projektu Next.js/Supabase: oferty, CRM, analityka, czat AIIstnieje działający projekt WatchGenius — platforma analityczna luksusowych zegarków z katalogiem modeli, analizą cen, zewnętrznymi ofertami, formularzami zgłoszeniowymi i czatem AI. Projekt został już częściowo opracowany. Potrzebny jest doświadczony programista full-stack,… Javascript & Typescript, Programowanie stron internetowych ∙ 4 dni 19 godzin temu ∙ 54 oferty |