Lesson 1Wallet design: active tickets, ticket lifecycle, expiration, restore and transfer scenariosDesign a wallet that manages active, upcoming, and expired tickets. You will model ticket states, validation, expiration, and device changes, while supporting restore, transfer, and fraud prevention in a clear, predictable interface for Nigerian users.
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 controlsLesson 2Trip planner UI/UX: required inputs (origin, destination, time, preferences) and output elements (route, duration, transfers, walking segments)Design the trip planner UI from inputs to results. You will specify required fields, preference controls, and result cards, ensuring accessibility, clarity of tradeoffs, and fast comparison between alternative routes and modes in Nigerian transit.
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 considerationsLesson 3User controls for alerts: subscriptions, quiet hours, per-line filtering, accessibility of alertsDesign user-facing controls that govern which alerts are received. You will implement subscriptions, quiet hours, per-line filters, and accessibility options so riders can tune relevance while still receiving critical safety messages in Nigeria.
Subscription models: lines, stations, routesQuiet hours, do-not-disturb, and overridesPer-line and per-topic filtering optionsCritical vs optional alert categoriesAccessibility settings for alert deliveryLesson 4Real-time alerts delivery: push notifications, WebSocket/Socket.IO, server-sent events, and fallback pollingExplore real-time alert delivery channels and tradeoffs. You will compare push, WebSockets, SSE, and polling, design reconnection and backoff, and ensure alerts stay timely, deduplicated, and power efficient on mobile devices in Nigeria.
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 failsLesson 5Route ranking and filtering: fastest, fewest transfers, accessibility, least walkingDesign ranking logic that balances speed, transfers, walking, and accessibility. You will define filters, scoring models, tie-breaking rules, and UX patterns so riders can quickly find routes that match their preferences and constraints in Nigeria.
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 labelsLesson 6Analytics events for core features: trip searches, ticket purchases, alert interactionsDefine analytics for trip searches, ticket purchases, and alerts. You will design event schemas, user properties, funnels, and privacy controls that help improve features while respecting regulations and user expectations in Nigeria.
Core events for search, purchase, and alertsEvent naming, versioning, and schemasFunnels, cohorts, and retention analysisAttribution of alerts to user actionsPrivacy, consent, and data minimizationLesson 7Ticket purchase flow: product catalog, fare rules, seats/reservations vs proof-of-payment modelsDesign the ticket purchase flow from product selection to confirmation. You will model fare rules, passes, reservations, and proof-of-payment, ensuring clarity, validation, and compatibility with agency backends for Nigerian transit.
Product catalog structure and fare familiesFare rules, zones, caps, and concessionsSeat reservations vs open proof-of-paymentValidating eligibility and rider typesPurchase confirmation and receipt designLesson 8User flow from app launch to route results: permissions, location access, quick actions, recent searchesMap the end-to-end journey from app launch to route results. You will design permission prompts, location handling, shortcuts, and recent searches so riders can reach relevant trip options with minimal friction and clear privacy expectations in Nigeria.
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 locationLesson 9In-app alert presentation: inbox, banners, contextual route alerts, personalization and prioritizationDefine how alerts appear inside the app across contexts. You will design inboxes, banners, and contextual surfaces, with prioritization, grouping, and personalization that keep riders informed without overwhelming them in Nigerian apps.
Alert inbox layout and filtering optionsTransient banners, toasts, and modalsContextual alerts on route and ticket viewsPrioritization, grouping, and rate limitingPersonalization based on usage and linesLesson 10Error handling and retry patterns during purchase and network failuresLearn patterns for handling purchase and network failures without losing user trust. You will design retries, idempotent operations, offline queues, and clear error messaging that protect payments and avoid duplicate charges or broken tickets in Nigeria.
Classifying transient vs permanent failuresDesigning safe retry and backoff strategiesIdempotency keys for payment operationsOffline queues and local operation logsUser-facing error messages and recovery flowsLesson 11Payment integration: hosted pages vs in-app SDKs, PCI scope reduction, tokenizationExplore payment integration options and security boundaries. You will compare hosted pages and in-app SDKs, design tokenization, and reduce PCI scope while keeping the checkout smooth, trustworthy, and compliant for Nigerian users.
Hosted checkout vs native SDK tradeoffsReducing PCI scope with tokenization3-D Secure, SCA, and regional rulesHandling declines, reversals, and refundsStoring and updating payment instrumentsLesson 12Local storage for tickets: secure storage options (encrypted database, keystore/Keychain) and tokenizationLearn secure local storage patterns for tickets and tokens. You will compare encrypted databases, Keychain or Keystore, and platform APIs, designing key rotation, backup behavior, and protections against tampering or cloning in Nigeria.
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