Lekcija 1Oblikovanje denarnice: aktivne vozovnice, življenjski cikel vozovnic, potek, scenariji obnove in prenosaOblikujte denarnico, ki upravlja aktivne, prihajajoče in potekle vozovnice. Modelirali boste stanja vozovnic, validacijo, potek in spremembe naprav, pri čemer podpirate obnovo, prenos in preprečevanje goljufij v jasnem, predvidljivem vmesniku.
Ticket state machine and lifecycle eventsActive, upcoming, and expired ticket viewsValidation states and visual security cuesRestore flows after reinstall or device lossTransfer rules, limits, and fraud controlsLekcija 2UI/UX načrtovalnika potovanj: obvezni vhodi (izvor, cilj, čas, preference) in izhodni elementi (pot, trajanje, prestopi, peš segmenti)Oblikujte UI načrtovalnika potovanj od vhodov do rezultatov. Določili boste obvezna polja, kontrole preferenc in kartice rezultatov, zagotavljajoč dostopnost, jasnost kompromisov in hitro primerjavo alternativnih poti in načinov.
Input forms for origin, destination, and timePreference controls for modes and walkingDesigning route result cards and summariesDetail views for legs, transfers, and faresAccessibility and localization considerationsLekcija 3Uporabniške kontrole za opozorila: naročnine, tihe ure, filtriranje po linijah, dostopnost opozorilOblikujte uporabniške kontrole, ki določajo, katere opozorila se prejmejo. Implementirali boste naročnine, tihe ure, filtre po linijah in možnosti dostopnosti, da potniki lahko nastavijo relevantnost, hkrati pa še vedno prejemajo kritična varnostna sporočila.
Subscription models: lines, stations, routesQuiet hours, do-not-disturb, and overridesPer-line and per-topic filtering optionsCritical vs optional alert categoriesAccessibility settings for alert deliveryLekcija 4Dostava opozoril v realnem času: push obvestila, WebSocket/Socket.IO, dogodki poslani s strežnika, rezervni pollingRaziščite kanale dostave opozoril v realnem času in kompromise. Primerjali boste push, WebSocket-e, SSE in polling, oblikovali ponovne povezave in nazaj, ter zagotovili, da opozorila ostanejo pravočasna, deduplicirana in energetsko učinkovita na mobilnih napravah.
Choosing push vs WebSocket vs SSE vs pollingConnection management and reconnection logicOrdering, deduplication, and idempotent alertsBattery, data usage, and background limitsFallback strategies when real-time failsLekcija 5Razvrščanje in filtriranje poti: najhitrejše, najmanj prestopov, dostopno, najmanj hojeOblikujte logiko razvrščanja, ki uravnoteži hitrost, prestope, hojo in dostopnost. Določili boste filtre, modele ocenjevanja, pravila za odločanje in UX vzorce, da potniki hitro najdejo poti, ki ustrezajo njihovim preferencam in omejitvam.
Ranking by time, transfers, and walking distanceAccessibility-aware route scoring and penaltiesUser-configurable filters and presetsHandling incomplete or low-quality GTFS dataExplaining rankings with clear UI labelsLekcija 6Analitični dogodki za osnovne funkcije: iskanje potovanj, nakup vozovnic, interakcije z opozoriliDoločite analitiko za iskanje potovanj, nakup vozovnic in interakcije z opozorili. Oblikovali boste sheme dogodkov, lastnosti uporabnikov, lijake in kontrole zasebnosti, ki pomagajo izboljšati funkcije ob spoštovanju predpisov in pričakovanj uporabnikov.
Core events for search, purchase, and alertsEvent naming, versioning, and schemasFunnels, cohorts, and retention analysisAttribution of alerts to user actionsPrivacy, consent, and data minimizationLekcija 7Tok nakupa vozovnic: katalog izdelkov, pravila tarif, sedeži/rezervacije proti modelom dokaza o plačiluOblikujte tok nakupa vozovnic od izbire izdelka do potrditve. Modelirali boste pravila tarif, vozovnice, rezervacije in dokaz o plačilu, zagotavljajoč jasnost, validacijo in združljivost z ozadji agencij.
Product catalog structure and fare familiesFare rules, zones, caps, and concessionsSeat reservations vs open proof-of-paymentValidating eligibility and rider typesPurchase confirmation and receipt designLekcija 8Uporabniški tok od zagona aplikacije do rezultatov poti: dovoljenja, dostop do lokacije, hitra dejanja, nedavna iskanjaZasnujte celoten tok od zagona aplikacije do rezultatov poti. Oblikovali boste pozive za dovoljenja, ravnanje z lokacijo, bližnjice in nedavna iskanja, da potniki dosežejo relevantne možnosti potovanj z minimalno trenjo in jasnimi pričakovanji zasebnosti.
Cold start, splash, and onboarding decisionsRequesting and explaining location permissionsQuick actions, favorites, and home-work shortcutsRecent searches, recents ranking, and clearingHandling denied permissions and manual locationLekcija 9Predstavitev opozoril v aplikaciji: nabiralnik, trakovi, kontekstna opozorila poti, personalizacija in prioritizacijaDoločite, kako se opozorila prikazujejo v aplikaciji čez kontekste. Oblikovali boste nabiralnike, trakove in kontekstne površine z prioritizacijo, združevanjem in personalizacijo, ki držijo potnike obveščene brez preobremenitve.
Alert inbox layout and filtering optionsTransient banners, toasts, and modalsContextual alerts on route and ticket viewsPrioritization, grouping, and rate limitingPersonalization based on usage and linesLekcija 10Ravnanje z napakami in vzorci ponovnih poskusov med nakupom in omrežnimi napakamiSpoznavajte vzorce za ravnanje z napakami nakupa in omrežja brez izgube zaupanja uporabnikov. Oblikovali boste ponovne poskuse, idempotentne operacije, offline vrste in jasna sporočila o napakah, ki ščitijo plačila in preprečujejo podvojene obtožbe ali pokvarjene vozovnice.
Classifying transient vs permanent failuresDesigning safe retry and backoff strategiesIdempotency keys for payment operationsOffline queues and local operation logsUser-facing error messages and recovery flowsLekcija 11Integracija plačil: gostujoče strani proti SDK-jem v aplikaciji, zmanjšanje obsega PCI, tokenizacijaRaziščite možnosti integracije plačil in varnostne meje. Primerjali boste gostujoče strani in SDK-je v aplikaciji, oblikovali tokenizacijo in zmanjšali obseg PCI, pri čemer ohranite gladko, zaupanja vredno in skladno plačilo.
Hosted checkout vs native SDK tradeoffsReducing PCI scope with tokenization3-D Secure, SCA, and regional rulesHandling declines, reversals, and refundsStoring and updating payment instrumentsLekcija 12Lokalno shranjevanje vozovnic: varne možnosti shranjevanja (šifrirana podatkovna baza, keystore/Keychain) in tokenizacijaSpoznavajte varne lokalne shranjevalne vzorce za vozovnice in tokene. Primerjali boste šifrirane podatkovne baze, Keychain ali Keystore ter API-je platforme, oblikovali vrtenje ključev, vedenje備份 in zaščite pred poseganjem ali kloniranjem.
Threat model for stored tickets and tokensUsing Keychain or Keystore for secretsEncrypted databases for ticket metadataKey rotation, revocation, and migrationBackup, restore, and multi-device behavior