Cel
Stworzyć aplikację React Native (iOS + Android), która realizuje wszystkie scenariusze, które są w dokumentacji API (i tylko je). Backend nie jest realizowany, jest już zaimplementowany w naszym API.
Źródła
- Podstawowy URL:
https://carcheck24api-production.up.railway.app/api - Dokumentacja:
https://carcheck24api-production.up.railway.app/docs lub https://carcheck24api-production.up.railway.app/redoc - Figma: CarCheck24 – Figma
Uwagi dotyczące designu/UX
- W Figma opisano, jak powinny wyglądać ekrany.
- Jeśli pojawią się pytania dotyczące interakcji użytkownika z interfejsem, logiki przejść, zachowania przycisków/formularzy lub czegokolwiek, co będzie niejasne — jestem do dyspozycji i gotów szybko pomóc.
Ograniczenia
- Każdy ekran/przycisk/pole realizowane są tylko jeśli istnieje odpowiedni endpoint w API (docs/redoc).
/api/users/set-photo nie realizujemy (nie wywołujemy, UI pod niego nie robimy).
Funkcjonalność (zakres)
Aplikacja powinna obejmować wszystkie grupy endpointów z dokumentacji API:
- Auth/Sesja: logowanie/rejestracja/odświeżanie/wylogowanie/odzyskiwanie hasła - tylko te, które są w dokumentacji.
- Użytkownik/Profil: pobieranie/aktualizacja profilu — tylko te, które są (oprócz set-photo).
- Wszystkie pozostałe encje API (cokolwiek jest w dokumentacji):
- Lista (jeśli istnieje endpoint listy)
- Utwórz (jeśli istnieje)
- Odczytaj szczegóły (jeśli istnieje)
- Aktualizuj (jeśli istnieje)
- Usuń/Anuluj (jeśli istnieje)
- Wyszukiwanie/Filtracja/Paginacja (jeśli są parametry/endpointy)
UI robimy zgodnie z Figma, ale jeśli w Figma jest coś zbędnego, a w API tego nie ma - nie robimy.
Niefunkcjonalne (minimum)
- iOS + Android.
- Jednolity klient API: baseURL, token, obsługa 401, podstawowe błędy/timeout.
- Przechowywanie tokena: Keychain/Keystore.
- Stany ekranów: loading / empty / error.
Akceptacja
- Dla każdego endpointu z dokumentacji API (oprócz
users/set-photo) w aplikacji jest sposób:- wywołać go z UI (ekran/działanie),
- zobaczyć wynik/błąd,
- przejść pełny scenariusz (utworzyć → zobaczyć → zaktualizować, jeśli jest wspierane).
- W aplikacji nie ma funkcji, które nie są potwierdzone endpointami w dokumentacji
Aktualna mapa drogowa:
