Lekce 1Návrh peněženky: aktivní lístky, životní cyklus lístku, expirace, scénáře obnovení a převoduNavrhněte peněženku spravující aktivní, blížící se a expirované lístky. Modelujte stavy lístků, validaci, expiraci a změny zařízení, s podporou obnovení, převodu a prevence podvodů v jasném, předvídatelném rozhraní.
Stavový stroj lístků a životní cyklus událostíPohledy na aktivní, blížící se a expirované lístkyStavy validace a vizuální bezpečnostní signályToky obnovení po reinstalaci nebo ztrátě zařízeníPravidla převodu, limity a kontroly podvodůLekce 2UI/UX plánovače cest: požadované vstupy (původ, cíl, čas, preference) a výstupní prvky (trasa, doba, přestupy, pěší úseky)Navrhněte UI plánovače cest od vstupů po výsledky. Specifikujte požadované pole, ovládací prvky preferencí a výsledkové karty, zajistěte přístupnost, jasnost kompromisů a rychlé porovnání alternativních tras a módů.
Vstupní formuláře pro původ, cíl a časOvládací prvky preferencí pro módy a chůziNávrh výsledkových karet tras a shrnutíDetailní pohledy na úseky, přestupy a cenyZvážení přístupnosti a lokalizaceLekce 3Uživatelské ovládání upozornění: předplatné, tiché hodiny, filtrování podle linky, přístupnost upozorněníNavrhněte uživatelské ovládání určující, která upozornění obdrží. Implementujte předplatné, tiché hodiny, filtry podle linky a přístupnost, aby cestující mohli ladit relevanci a stále dostávat kritická bezpečnostní hlášení.
Modely předplatného: linky, stanice, trasyTiché hodiny, nerušte a přepsáníMožnosti filtrování podle linky a tématuKritické vs volitelné kategorie upozorněníNastavení přístupnosti pro doručení upozorněníLekce 4Doručování realtime upozornění: push notifikace, WebSocket/Socket.IO, server-sent events, fallback pollingProzkoumejte kanály doručování realtime upozornění a kompromisy. Porovnejte push, WebSockets, SSE a polling, navrhněte reconnection a backoff, zajistěte včasná, deduplikovaná a energeticky efektivní upozornění na mobile.
Výběr push vs WebSocket vs SSE vs pollingSpráva spojení a logika reconnectionŘazení, deduplikace a idempotentní upozorněníBaterie, spotřeba dat a limity na pozadíFallback strategie při selhání realtimeLekce 5Řazení a filtrování tras: nejrychlejší, nejít přestupů, přístupné, nejméně chůzeNavrhněte logiku řazení vyvažující rychlost, přestupy, chůzi a přístupnost. Definujte filtry, skórovací modely, pravidla rozhodování remíz a UX vzory pro rychlé nalezení tras odpovídajících preferencím a omezením.
Řazení podle času, přestupů a vzdálenosti chůzeSkórování tras s ohledem na přístupnost a penalizaceUživatelsky konfigurovatelné filtry a presetZpracování nekompletních nebo nekvalitních GTFS datVysvětlení řazení jasnými UI štítkyLekce 6Analytické události pro jádrové funkce: vyhledávání cest, nákupy lístků, interakce s upozorněnímiDefinujte analýzu pro vyhledávání cest, nákupy lístků a upozornění. Navrhněte schémata událostí, vlastnosti uživatele, funnels a kontroly soukromí pomáhající zlepšovat funkce při respektování regulací a očekávání uživatelů.
Jádrové události pro vyhledávání, nákup a upozorněníNázvy událostí, verzování a schémataFunnely, kohorty a analýza retencePřipisování upozornění uživatelským akcímSoukromí, souhlas a minimalizace datLekce 7Tok nákupu lístku: katalog produktů, pravidla jízdného, sedadla/rezervace vs proof-of-payment modelyNavrhněte tok nákupu lístku od výběru produktu po potvrzení. Modelujte pravidla jízdného, jízdenky, rezervace a proof-of-payment, zajistěte jasnost, validaci a kompatibilitu s backendem agentury.
Struktura katalogu produktů a fare rodinyPravidla jízdného, zóny, stropy a úlevyRezervace sedadel vs otevřený proof-of-paymentValidace způsobilosti a typů cestujícíchPotvrzení nákupu a design potvrzenkyLekce 8Uživatelský tok od spuštění app po výsledky tras: oprávnění, přístup k lokaci, rychlé akce, nedávná vyhledáváníNamapujte end-to-end cestu od spuštění app po výsledky tras. Navrhněte výzvy k oprávnění, zpracování lokace, zkratky a nedávná vyhledávání pro minimální tření a jasná očekávání soukromí.
Cold start, splash a onboarding rozhodnutíŽádost a vysvětlení oprávnění k lokaciRychlé akce, oblíbené a zkratky domov-práceNedávná vyhledávání, řazení recent a mazáníZpracování odmítnutých oprávnění a manuální lokaceLekce 9Prezentace upozornění v app: inbox, bannery, kontextuální upozornění tras, personalizace a prioritizaceDefinujte, jak se upozornění zobrazují v app v různých kontextech. Navrhněte inboxy, bannery a kontextuální povrchy s prioritizací, seskupením a personalizací udržující cestující informované bez přetížení.
Rozložení inboxu upozornění a filtryDočasné bannery, toasty a modályKontextuální upozornění na pohledech tras a lístkůPrioritizace, seskupení a rate limitingPersonalizace na základě použití a linekLekce 10Zpracování chyb a retry vzory během nákupu a síťových selháníNaučte se vzory pro zpracování selhání nákupu a sítě bez ztráty důvěry uživatele. Navrhněte retry, idempotentní operace, offline fronty a jasné chybové zprávy chránící platby před duplicitami nebo poškozenými lístky.
Klasifikace dočasných vs permanentních selháníNávrh bezpečných retry a backoff strategiíIdempotence klíče pro platební operaceOffline fronty a lokální logy operacíChybové zprávy pro uživatele a recovery tokyLekce 11Integrace plateb: hosted pages vs in-app SDK, snížení PCI scope, tokenizaceProzkoumejte možnosti integrace plateb a bezpečnostní hranice. Porovnejte hosted pages a in-app SDK, navrhněte tokenizaci a snižte PCI scope při hladkém, důvěryhodném a compliant checkoutu.
Kompromisy hosted checkout vs nativní SDKSnížení PCI scope tokenizací3-D Secure, SCA a regionální pravidlaZpracování odmítnutí, obrátky a refundacíUložení a aktualizace platebních nástrojůLekce 12Lokální úložiště pro lístky: bezpečné úložištní možnosti (šifrovaná databáze, keystore/Keychain) a tokenizaceNaučte se bezpečné lokální úložištní vzory pro lístky a tokeny. Porovnejte šifrované databáze, Keychain nebo Keystore a platform API, navrhněte rotaci klíčů, backup chování a ochranu proti manipulaci nebo klonování.
Threat model pro uložené lístky a tokenyPoužití Keychain nebo Keystore pro tajemstvíŠifrované databáze pro metadata lístkůRotace klíčů, revokace a migraceBackup, obnovení a chování multi-device