Aralin 1Pagdidisenyo ng Wallet: active tickets, ticket lifecycle, expiration, restore at transfer scenariosIdisenyo ang wallet na namamahala ng active, upcoming, at expired tickets. I-model mo ang ticket states, validation, expiration, at device changes, habang sinusuportahan ang restore, transfer, at fraud prevention sa malinaw, predictable na interface.
Ticket state machine at lifecycle eventsActive, upcoming, at expired ticket viewsValidation states at visual security cuesRestore flows pagkatapos ng reinstall o device lossTransfer rules, limits, at fraud controlsAralin 2Trip planner UI/UX: kinakailangang inputs (origin, destination, time, preferences) at output elements (route, duration, transfers, walking segments)Idisenyo ang trip planner UI mula inputs hanggang results. I-specify mo ang required fields, preference controls, at result cards, na tinitiyak ang accessibility, clarity ng tradeoffs, at mabilis na paghahambing sa alternative routes at modes.
Input forms para sa origin, destination, at timePreference controls para sa modes at walkingPagdidisenyo ng route result cards at summariesDetail views para sa legs, transfers, at faresAccessibility at localization considerationsAralin 3User controls para sa alerts: subscriptions, quiet hours, per-line filtering, accessibility ng alertsIdisenyo ang user-facing controls na namamahala kung aling alerts ang tatanggapin. I-implement mo ang subscriptions, quiet hours, per-line filters, at accessibility options upang ma-tune ng mga pasahero ang relevance habang natatanggap pa rin ang critical safety messages.
Subscription models: lines, stations, routesQuiet hours, do-not-disturb, at overridesPer-line at per-topic filtering optionsCritical vs optional alert categoriesAccessibility settings para sa alert deliveryAralin 4Real-time alerts delivery: push notifications, WebSocket/Socket.IO, server-sent events, at fallback pollingGalugarin ang real-time alert delivery channels at tradeoffs. Ikukumpara mo ang push, WebSockets, SSE, at polling, ididisenyo ang reconnection at backoff, at sisiguraduhin na mananatiling timely, deduplicated, at power efficient ang alerts sa mobile devices.
Pagpili ng push vs WebSocket vs SSE vs pollingConnection management at reconnection logicOrdering, deduplication, at idempotent alertsBattery, data usage, at background limitsFallback strategies kapag nabigo ang real-timeAralin 5Route ranking at filtering: fastest, fewest transfers, accessibility, least walkingIdisenyo ang ranking logic na nagbabalanse ng speed, transfers, walking, at accessibility. I-define mo ang filters, scoring models, tie-breaking rules, at UX patterns upang mabilis na makahanap ang mga pasahero ng routes na tumutugma sa kanilang preferences at constraints.
Ranking by time, transfers, at walking distanceAccessibility-aware route scoring at penaltiesUser-configurable filters at presetsPaghawak ng incomplete o low-quality GTFS dataPagpaliwanag ng rankings gamit ang malinaw na UI labelsAralin 6Analytics events para sa core features: trip searches, ticket purchases, alert interactionsI-define ang analytics para sa trip searches, ticket purchases, at alerts. Ididisenyo mo ang event schemas, user properties, funnels, at privacy controls na tumutulong sa pagpapabuti ng features habang iginagalang ang regulations at user expectations.
Core events para sa search, purchase, at alertsEvent naming, versioning, at schemasFunnels, cohorts, at retention analysisAttribution ng alerts sa user actionsPrivacy, consent, at data minimizationAralin 7Ticket purchase flow: product catalog, fare rules, seats/reservations vs proof-of-payment modelsIdisenyo ang ticket purchase flow mula product selection hanggang confirmation. I-model mo ang fare rules, passes, reservations, at proof-of-payment, na tinitiyak ang clarity, validation, at compatibility sa agency backends.
Product catalog structure at fare familiesFare rules, zones, caps, at concessionsSeat reservations vs open proof-of-paymentPag-validate ng eligibility at rider typesPurchase confirmation at receipt designAralin 8User flow mula app launch hanggang route results: permissions, location access, quick actions, recent searchesI-map ang end-to-end journey mula app launch hanggang route results. Ididisenyo mo ang permission prompts, location handling, shortcuts, at recent searches upang maabot ng mga pasahero ang relevant trip options na may minimal friction at malinaw na privacy expectations.
Cold start, splash, at onboarding decisionsPagre-request at pagpaliwanag ng location permissionsQuick actions, favorites, at home-work shortcutsRecent searches, recents ranking, at clearingPaghawak ng denied permissions at manual locationAralin 9In-app alert presentation: inbox, banners, contextual route alerts, personalization at prioritizationI-define kung paano lilitaw ang alerts sa loob ng app sa iba't ibang contexts. Ididisenyo mo ang inboxes, banners, at contextual surfaces, na may prioritization, grouping, at personalization na nagpapanatili sa mga pasahero ng impormasyon nang hindi overwhelming.
Alert inbox layout at filtering optionsTransient banners, toasts, at modalsContextual alerts sa route at ticket viewsPrioritization, grouping, at rate limitingPersonalization batay sa usage at linesAralin 10Error handling at retry patterns sa panahon ng purchase at network failuresMatutulo ng patterns sa paghawak ng purchase at network failures nang hindi nawawala ang user trust. Ididisenyo mo ang retries, idempotent operations, offline queues, at malinaw na error messaging na nagpoprotekta sa payments at iniiwasan ang duplicate charges o broken tickets.
Pagklasipika ng transient vs permanent failuresPagdidisenyo ng safe retry at backoff strategiesIdempotency keys para sa payment operationsOffline queues at local operation logsUser-facing error messages at recovery flowsAralin 11Payment integration: hosted pages vs in-app SDKs, PCI scope reduction, tokenizationGalugarin ang payment integration options at security boundaries. Ikukumpara mo ang hosted pages at in-app SDKs, ididisenyo ang tokenization, at bawasan ang PCI scope habang pinapanatili ang checkout na smooth, trustworthy, at compliant.
Hosted checkout vs native SDK tradeoffsPagbawas ng PCI scope gamit ang tokenization3-D Secure, SCA, at regional rulesPaghawak ng declines, reversals, at refundsPag-imbak at pag-update ng payment instrumentsAralin 12Local storage para sa tickets: secure storage options (encrypted database, keystore/Keychain) at tokenizationMatutulo ng secure local storage patterns para sa tickets at tokens. Ikukumpara mo ang encrypted databases, Keychain o Keystore, at platform APIs, na nagdidisenyo ng key rotation, backup behavior, at protections laban sa tampering o cloning.
Threat model para sa stored tickets at tokensPaggamit ng Keychain o Keystore para sa secretsEncrypted databases para sa ticket metadataKey rotation, revocation, at migrationBackup, restore, at multi-device behavior