Lekcja 1Projektowanie portfela: aktywne bilety, cykl życia biletu, wygaśnięcie, scenariusze przywracania i transferuZaprojektuj portfel zarządzający aktywnymi, nadchodzącymi i wygasłymi biletami. Zmodelujesz stany biletów, walidację, wygaśnięcie i zmiany urządzeń, wspierając przywracanie, transfer i zapobieganie oszustwom w jasnym, przewidywalnym interfejsie.
Maszyna stanów biletu i zdarzenia cyklu życiaWidoki aktywnych, nadchodzących i wygasłych biletówStany walidacji i wizualne wskazówki bezpieczeństwaPrzepływy przywracania po reinstalacji lub utracie urządzeniaReguły transferu, limity i kontrole oszustwLekcja 2UI/UX planera podróży: wymagane dane wejściowe (punkt wyjścia, cel, czas, preferencje) i elementy wyjściowe (trasa, czas trwania, przesiadki, odcinki piesze)Zaprojektuj UI planera podróży od danych wejściowych do wyników. Określisz wymagane pola, kontrolki preferencji i karty wyników, zapewniając dostępność, jasność kompromisów i szybkie porównanie alternatywnych tras i środków transportu.
Formularze wejściowe dla punktu wyjścia, celu i czasuKontrolki preferencji dla środków i chodzeniaProjektowanie kart wyników tras i podsumowańWidoki szczegółów dla odcinków, przesiadek i opłatUwagi dotyczące dostępności i lokalizacjiLekcja 3Kontrolki użytkownika dla alertów: subskrypcje, ciche godziny, filtrowanie per-linia, dostępność alertówZaprojektuj kontrolki użytkownika decydujące o otrzymywanych alertach. Zaimplementujesz subskrypcje, ciche godziny, filtry per-linia i opcje dostępności, aby pasażerowie mogli dostosować istotność, nadal otrzymując krytyczne wiadomości bezpieczeństwa.
Modele subskrypcji: linie, stacje, trasyCiche godziny, nie przeszkadzać i nadpisywanieOpcje filtrowania per-linia i per-tematKategorie alertów krytycznych vs opcjonalnychUstawienia dostępności dla dostarczania alertówLekcja 4Dostarczanie alertów w czasie rzeczywistym: powiadomienia push, WebSocket/Socket.IO, zdarzenia wysyłane przez serwer, fallback pollingPoznaj kanały dostarczania alertów w czasie rzeczywistym i ich kompromisy. Porównasz push, WebSockety, SSE i polling, zaprojektujesz ponowne połączenia i backoff, zapewniając terminowość, deduplikację i oszczędność energii na urządzeniach mobilnych.
Wybór push vs WebSocket vs SSE vs pollingZarządzanie połączeniami i logika ponownego łączeniaKolejkowanie, deduplikacja i idempotentne alertyBateria, zużycie danych i limity w tleStrategie fallback gdy real-time zawiedzieLekcja 5Ranking i filtrowanie tras: najszybsze, najmniej przesiadek, dostępne, najmniej chodzeniaZaprojektuj logikę rankingu równoważącą prędkość, przesiadki, chodzenie i dostępność. Zdefiniujesz filtry, modele punktacji, reguły rozstrzygania remisów i wzorce UX, aby pasażerowie szybko znaleźli pasujące trasy i ograniczenia.
Ranking według czasu, przesiadek i dystansu pieszegoPunktacja tras świadoma dostępności i karyFiltrowanie i presety konfigurowalne przez użytkownikaObsługa niekompletnych lub niskiej jakości danych GTFSWyjaśnianie rankingów jasnymi etykietami UILekcja 6Zdarzenia analityczne dla podstawowych funkcji: wyszukiwania tras, zakupy biletów, interakcje z alertamiZdefiniuj analitykę dla wyszukiwań tras, zakupów biletów i alertów. Zaprojektujesz schematy zdarzeń, właściwości użytkownika, leje i kontrole prywatności pomagające poprawiać funkcje przy poszanowaniu regulacji i oczekiwań użytkowników.
Podstawowe zdarzenia dla wyszukiwania, zakupu i alertówNazewnictwo zdarzeń, wersjonowanie i schematyLeje, kohorty i analiza retencjiAtribucja alertów do działań użytkownikaPrywatność, zgoda i minimalizacja danychLekcja 7Przepływ zakupu biletu: katalog produktów, reguły taryfowe, miejsca/rezerwacje vs modele dowodu płatnościZaprojektuj przepływ zakupu biletu od wyboru produktu do potwierdzenia. Zmodelujesz reguły taryfowe, karnety, rezerwacje i dowód płatności, zapewniając jasność, walidację i kompatybilność z backendami przewoźników.
Struktura katalogu produktów i rodziny taryfReguły taryfowe, strefy, limity i ulgiRezerwacje miejsc vs otwarty dowód płatnościWalidacja kwalifikowalności i typów pasażerówPotwierdzenie zakupu i projektowanie paragonuLekcja 8Przepływ użytkownika od uruchomienia aplikacji do wyników tras: uprawnienia, dostęp do lokalizacji, szybkie akcje, ostatnie wyszukiwaniaZmapuj podróż end-to-end od uruchomienia aplikacji do wyników tras. Zaprojektujesz monity uprawnień, obsługę lokalizacji, skróty i ostatnie wyszukiwania, aby pasażerowie dotarli do istotnych opcji podróży z minimalnym tarciem i jasnymi oczekiwaniami prywatności.
Zimny start, splash i decyzje onboardinguŻądanie i wyjaśnianie uprawnień lokalizacjiSzybkie akcje, ulubione i skróty dom-pracaOstatnie wyszukiwania, ranking recentów i czyszczenieObsługa odmówionych uprawnień i ręcznej lokalizacjiLekcja 9Prezentacja alertów w aplikacji: skrzynka odbiorcza, banery, kontekstowe alerty tras, personalizacja i priorytetyzacjaZdefiniuj, jak alerty pojawiają się w aplikacji w różnych kontekstach. Zaprojektujesz skrzynki odbiorcze, banery i powierzchnie kontekstowe z priorytetyzacją, grupowaniem i personalizacją informującymi pasażerów bez przytłaczania.
Układ skrzynki alertów i opcje filtrowaniaPrzemijające banery, toasty i modaleKontekstowe alerty na widokach tras i biletówPriorytetyzacja, grupowanie i limitowanie tempaPersonalizacja na podstawie użycia i liniiLekcja 10Obsługa błędów i wzorce ponownych prób podczas zakupu i awarii sieciPoznaj wzorce obsługi awarii zakupu i sieci bez utraty zaufania użytkownika. Zaprojektujesz ponowne próby, operacje idempotentne, kolejki offline i jasne komunikaty błędów chroniące płatności i unikające duplikatów lub uszkodzonych biletów.
Klasyfikacja awarii przejściowych vs permanentnychProjektowanie bezpiecznych strategii ponownych prób i backoffKlucz idempotentności dla operacji płatniczychKolejki offline i lokalne logi operacjiKomunikaty błędów dla użytkownika i przepływy odzyskiwaniaLekcja 11Integracja płatności: strony hostowane vs SDK w aplikacji, redukcja zakresu PCI, tokenizacjaPoznaj opcje integracji płatności i granice bezpieczeństwa. Porównasz strony hostowane i SDK w aplikacji, zaprojektujesz tokenizację i zredukujesz zakres PCI przy płynnym, godnym zaufania i zgodnym z regulacjami checkout.
Kompromisy checkoutu hostowanego vs natywnego SDKRedukcja zakresu PCI z tokenizacją3-D Secure, SCA i regionalne regułyObsługa odmów, odwróceń i zwrotówPrzechowywanie i aktualizacja instrumentów płatniczychLekcja 12Lokalne przechowywanie biletów: opcje bezpiecznego przechowywania (zaszyfrowana baza, keystore/Keychain) i tokenizacjaPoznaj wzorce bezpiecznego lokalnego przechowywania biletów i tokenów. Porównasz zaszyfrowane bazy, Keychain lub Keystore i API platformy, projektując rotację kluczy, zachowanie backupu i ochronę przed manipulacją lub klonowaniem.
Model zagrożeń dla przechowywanych biletów i tokenówUżywanie Keychain lub Keystore dla sekretówZaszyfrowane bazy dla metadanych biletówRotacja kluczy, cofanie i migracjaBackup, przywracanie i zachowanie wielourządzeniowe