Les 1Portemonnee-ontwerp: actieve tickets, ticketlevenscyclus, expiratie, herstel- en overdrachtsscenario'sOntwerp een portemonnee die actieve, aankomende en verlopen tickets beheert. Modelleer ticketstatussen, validatie, expiratie en apparaatwijzigingen, met ondersteuning voor herstel, overdracht en fraudepreventie in een duidelijke interface.
Ticket state machine en levenscyclus-eventsWeergaven voor actieve, aankomende en verlopen ticketsValidatiestatussen en visuele beveiligingscue'sHerstel-flows na herinstallatie of apparaatverliesOverdrachtsregels, limieten en fraudecontrolesLes 2Reisplanner UI/UX: vereiste inputs (vertrekpunt, bestemming, tijd, voorkeuren) en output-elementen (route, duur, overstappen, loopsegmenten)Ontwerp de reisplanner UI van inputs tot resultaten. Specificeer vereiste velden, voorkeurenbediening en resultaatkaarten, met toegankelijkheid, duidelijkheid van trade-offs en snelle vergelijking van alternatieve routes en modi.
Inputformulieren voor vertrekpunt, bestemming en tijdVoorkeursbediening voor modi en lopenOntwerp route-resultaatkaarten en samenvattingenDetailweergaven voor etappes, overstappen en tarievenToegankelijkheids- en lokalisatie-overwegingenLes 3Gebruikersbediening voor alerts: abonnementen, stille uren, per-lijn filtering, toegankelijkheid van alertsOntwerp gebruikersbediening die bepaalt welke alerts ontvangen worden. Implementeer abonnementen, stille uren, per-lijn filters en toegankelijkheidsopties zodat reizigers relevantie kunnen afstemmen en kritieke veiligheidsberichten ontvangen.
Abonnementsmodellen: lijnen, stations, routesStille uren, niet-storen en overridesPer-lijn en per-onderwerp filteroptiesKritieke vs optionele alert-categorieënToegankelijkheidsinstellingen voor alertbezorgingLes 4Realtime alerts bezorging: push-notificaties, WebSocket/Socket.IO, server-sent events en fallback-pollingVerken realtime alert-kanalen en trade-offs. Vergelijk push, WebSockets, SSE en polling, ontwerp heraansluiting en backoff, en zorg voor tijdige, gededupliceerde en energie-efficiënte alerts op mobiele apparaten.
Kiezen push vs WebSocket vs SSE vs pollingConnectiebeheer en heraansluitingslogicaVolgorde, deduplicatie en idempotente alertsBatterij, data-gebruik en achtergrondlimietenFallback-strategieën bij realtime-falenLes 5Route-ranking en filtering: snelst, minste overstappen, toegankelijkheid, minst lopenOntwerp ranking-logica die snelheid, overstappen, lopen en toegankelijkheid balanceert. Definieer filters, scoringsmodellen, tie-breaking-regels en UX-patronen zodat reizigers snel passende routes vinden.
Ranking op tijd, overstappen en loopafstandToegankelijkheidsbewuste route-scoring en penaltiesGebruikersconfigureerbare filters en presetsOmgaan met onvolledige of lage-kwaliteit GTFS-dataRankings uitleggen met duidelijke UI-labelsLes 6Analytics-events voor kernfeatures: reiszoekopdrachten, ticket-aankopen, alert-interactiesDefinieer analytics voor reiszoekopdrachten, ticket-aankopen en alerts. Ontwerp event-schemes, gebruikersproperties, funnels en privacycontroles om features te verbeteren met respect voor regelgeving en verwachtingen.
Kern-events voor zoekopdrachten, aankopen en alertsEvent-naming, versionering en schemesFunnels, cohorts en retentie-analyseToeschrijven alerts aan gebruikersactiesPrivacy, toestemming en data-minimalisatieLes 7Ticket-aankoopflow: productcatalogus, tariefregels, stoelen/reserveringen vs proof-of-payment modellenOntwerp de ticket-aankoopflow van productselectie tot bevestiging. Modelleer tariefregels, passen, reserveringen en proof-of-payment, met duidelijkheid, validatie en compatibiliteit met agency-backends.
Productcatalogusstructuur en tariefgroepenTariefregels, zones, caps en kortingenStoelreserveringen vs open proof-of-paymentGeschiktheid en reizigerstypes validerenAankoopbevestiging en ontvangstontwerpLes 8Gebruikersflow van app-start tot route-resultaten: toestemmingen, locatie-toegang, quick actions, recente zoekopdrachtenMappa de end-to-end reis van app-start tot route-resultaten. Ontwerp toestemmingprompts, locatie-afhandeling, snelkoppelingen en recente zoekopdrachten voor minimale wrijving en duidelijke privacy-verwachtingen.
Cold start, splash en onboarding-beslissingenLocatietoestemmingen aanvragen en uitleggenQuick actions, favorieten en thuis-werk snelkoppelingenRecente zoekopdrachten, ranking en wissenGeweigerd toestemmingen en handmatige locatie afhandelenLes 9In-app alert-presentatie: inbox, banners, contextuele route-alerts, personalisatie en prioriteringDefinieer hoe alerts in de app verschijnen over contexten. Ontwerp inboxes, banners en contextuele oppervlakken met prioritering, grouping en personalisatie zonder reizigers te overweldigen.
Alert-inbox lay-out en filteroptiesTijdelijke banners, toasts en modalsContextuele alerts op route- en ticket-weergavenPrioritering, grouping en rate limitingPersonalisatie op basis van gebruik en lijnenLes 10Error-handling en retry-patronen tijdens aankoop en netwerkfalenLeer patronen voor aankoop- en netwerkfalen zonder gebruikersvertrouwen te verliezen. Ontwerp retries, idempotente operaties, offline-queues en duidelijke error-berichten voor betalingbescherming.
Classificeren transient vs permanente falenVeilige retry- en backoff-strategieën ontwerpenIdempotentie-sleutels voor betaaloperatiesOffline-queues en lokale operatielogsGebruikersgerichte error-berichten en recovery-flowsLes 11Betaalintegratie: gehoste pagina's vs in-app SDK's, PCI-scope reductie, tokenisatieVerken betaalintegratie-opties en beveiligingsgrenzen. Vergelijk gehoste pagina's en in-app SDK's, ontwerp tokenisatie en verminder PCI-scope voor soepele, betrouwbare en compliant checkout.
Gehoste checkout vs native SDK trade-offsPCI-scope reduceren met tokenisatie3-D Secure, SCA en regionale regelsAfwijzingen, omkeringen en refunds afhandelenBetalingsinstrumenten opslaan en updatenLes 12Lokale opslag voor tickets: beveiligde opslagopties (geëncrypte database, keystore/Keychain) en tokenisatieLeer beveiligde lokale opslagpatronen voor tickets en tokens. Vergelijk geëncrypte databases, Keychain of Keystore en platform-API's, met key-rotatie, backup-gedrag en bescherming tegen tamperen of klonen.
Threat model voor opgeslagen tickets en tokensKeychain of Keystore gebruiken voor geheimenGeëncrypte databases voor ticket-metadataKey-rotatie, intrekking en migratieBackup, herstel en multi-device gedrag