Lecția 1Design portofel: bilete active, ciclu de viață bilete, expirare, scenarii restaurare și transferProiectează un portofel care gestionează bilete active, viitoare și expirate. Vei modela stările biletelor, validarea, expirarea și schimbările de device, suportând restaurare, transfer și prevenirea fraudei într-o interfață clară și previzibilă.
Mașină de stări bilete și evenimente ciclu viațăVizualizări bilete active, viitoare și expirateStări validare și indicii vizuale securitateFluxuri restaurare după reinstall sau pierdere deviceReguli transfer, limite și controale fraudăLecția 2UI/UX planificator călătorii: input-uri obligatorii (plecare, destinație, timp, preferințe) și elemente output (rute, durată, transbordări, segmente mers)Proiectează UI-ul planificatorului de la input-uri la rezultate. Vei specifica câmpuri obligatorii, controale preferințe și carduri rezultate, asigurând accesibilitate, claritate trade-off-uri și comparație rapidă între rute și moduri alternative.
Formulare input pentru plecare, destinație și timpControale preferințe pentru moduri și mersProiectare carduri rezultate rute și rezumateVizualizări detaliate pentru segmente, transbordări și tarifeConsiderații accesibilitate și localizareLecția 3Controale utilizator pentru alerte: abonări, ore liniște, filtrare per linie, accesibilitate alerteProiectează controale user-facing care guvernează alertele primite. Vei implementa abonări, ore liniște, filtre per linie și opțiuni accesibilitate pentru ca rider-ii să poată ajusta relevanța, primind în continuare mesaje critice de siguranță.
Modele abonare: linii, stații, ruteOre liniște, do-not-disturb și override-uriOpțiuni filtrare per linie și per subiectCategorii alerte critice vs opționaleSetări accesibilitate livrare alerteLecția 4Livrare alerte real-time: push notifications, WebSocket/Socket.IO, server-sent events, polling fallbackExplorează canalele de livrare alerte real-time și trade-off-urile. Vei compara push, WebSockets, SSE și polling, proiectând reconectare și backoff, asigurând alerte timely, deduplicate și eficiente energetic pe device-uri mobile.
Alegere push vs WebSocket vs SSE vs pollingManagement conexiuni și logică reconectareOrdonare, deduplicare și alerte idempotenteBaterie, consum date și limite backgroundStrategii fallback când real-time eșueazăLecția 5Clasament și filtrare rute: cea mai rapidă, cele mai puține transbordări, accesibilă, minim mersProiectează logica de clasament care balansează viteza, transbordările, mersul și accesibilitatea. Vei defini filtre, modele scoring, reguli tie-breaking și pattern-uri UX pentru ca rider-ii să găsească rapid rute potrivite preferințelor și constrângerilor.
Clasament după timp, transbordări și distanță mersScoring rute conștient de accesibilitate și penalitățiFiltre configurabile utilizator și preset-uriGestionarea date GTFS incomplete sau slabeExplicarea clasamentelor cu etichete UI clareLecția 6Evenimente analytics pentru funcționalități de bază: căutări călătorii, achiziții bilete, interacțiuni alerteDefinește analytics pentru căutări călătorii, achiziții bilete și alerte. Vei proiecta scheme evenimente, proprietăți utilizator, funnels și controale privacy care ajută îmbunătățirea funcționalităților respectând reglementările și așteptările utilizatorilor.
Evenimente de bază pentru căutare, achiziție și alerteNume evenimente, versiuni și schemeFunnels, cohorte și analiză retențieAtribuirea alertelor acțiunilor utilizatorPrivacy, consimțământ și minimizare dateLecția 7Flux achiziție bilete: catalog produse, reguli tarife, locuri/rezervări vs modele proof-of-paymentProiectează fluxul de achiziție bilete de la selecție produs la confirmare. Vei modela reguli tarife, abonamente, rezervări și proof-of-payment, asigurând claritate, validare și compatibilitate cu backend-urile agențiilor.
Structură catalog produse și familii tarifeReguli tarife, zone, plafoane și reduceriRezervări locuri vs proof-of-payment deschisValidare eligibilitate și tipuri riderConfirmare achiziție și design chitanțăLecția 8Flux utilizator de la lansare app la rezultate rute: permisiuni, acces locație, acțiuni rapide, căutări recenteMapează parcursul end-to-end de la lansare app la rezultate rute. Vei proiecta prompt-uri permisiuni, gestionare locație, scurtături și căutări recente pentru ca rider-ii să ajungă la opțiuni relevante cu fricțiune minimă și așteptări privacy clare.
Cold start, splash și decizii onboardingCerere și explicare permisiuni locațieAcțiuni rapide, favorite și scurtături home-workCăutări recente, clasament recente și ștergereGestionare permisiuni refuzate și locație manualăLecția 9Prezentare alerte în app: inbox, bannere, alerte contextuale rute, personalizare și prioritizareDefinește cum apar alertele în app pe contexte. Vei proiecta inbox-uri, bannere și suprafețe contextuale, cu prioritizare, grupare și personalizare care țin rider-ii informați fără a-i copleși.
Layout inbox alerte și opțiuni filtrareBannere tranzitorii, toasts și modaleAlerte contextuale pe vizualizări rute și biletePrioritizare, grupare și limitare ratăPersonalizare bazată pe utilizare și liniiLecția 10Gestionare erori și pattern-uri retry în timpul achizițiilor și erori rețeaAflă pattern-uri pentru gestionarea erorilor de achiziție și rețea fără a pierde încrederea utilizatorului. Vei proiecta retry-uri, operații idempotente, cozi offline și mesaje erori clare care protejează plățile și evită charge-uri duplicate sau bilete stricate.
Clasificare erori tranzitorii vs permanenteProiectare strategii retry și backoff sigureChei idempotență pentru operații platăCozi offline și loguri operații localeMesaje erori user-facing și fluxuri recuperareLecția 11Integrare plăți: pagini hosted vs SDK-uri în app, reducere scop PCI, tokenizareExplorează opțiuni integrare plăți și limite securitate. Vei compara pagini hosted și SDK-uri în app, proiecta tokenizare și reduce scopul PCI menținând checkout-ul smooth, de încredere și compliant.
Trade-off-uri checkout hosted vs SDK nativReducere scop PCI cu tokenizare3-D Secure, SCA și reguli regionaleGestionare declinări, reversări și rambursăriStocare și actualizare instrumente platăLecția 12Stocare locală bilete: opțiuni stocare securizată (bază date criptată, keystore/Keychain) și tokenizareAflă pattern-uri stocare locală securizată pentru bilete și token-uri. Vei compara baze date criptate, Keychain sau Keystore și API-uri platformă, proiectând rotație chei, comportament backup și protecții împotriva tamper-ing sau clonării.
Model amenințări pentru bilete și token-uri stocateFolosire Keychain sau Keystore pentru secreteBaze date criptate pentru metadate bileteRotație chei, revocare și migrațieBackup, restaurare și comportament multi-device