Ders 1Cüzdan tasarımı: aktif biletler, bilet yaşam döngüsü, sonlanma, geri yükleme ve transfer senaryolarıAktif, yaklaşan ve süresi dolmuş biletleri yöneten bir cüzdan tasarlayın. Bilet durumlarını, doğrulamayı, sonlanma ve cihaz değişikliklerini modelleyin; net, öngörülebilir bir arayüzde geri yükleme, transfer ve dolandırıcılık önleme desteği sağlayın.
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 controlsDers 2Gezi planlayıcı UI/UX: gerekli girdiler (başlangıç, varış, zaman, tercihler) ve çıktı öğeleri (rota, süre, aktarmalar, yürüyüş segmentleri)Girdi alanlarından sonuçlara kadar gezi planlayıcı UI'sini tasarlayın. Gerekli alanları, tercih kontrollerini ve sonuç kartlarını belirtin; erişilebilirlik, takas netliği ve alternatif rotalar ile modlar arasında hızlı karşılaştırmayı sağlayın.
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 considerationsDers 3Uyarılar için kullanıcı kontrolleri: abonelikler, sessiz saatler, hat başına filtreleme, uyarı erişilebilirliğiHangi uyarıların alındığını yöneten kullanıcı odaklı kontroller tasarlayın. Yolcuların alakayı ayarlamasını sağlayın; abonelikler, sessiz saatler, hat başına filtreler ve erişilebilirlik seçenekleri uygulayarak kritik güvenlik mesajlarını almalarını sağlayın.
Subscription models: lines, stations, routesQuiet hours, do-not-disturb, and overridesPer-line and per-topic filtering optionsCritical vs optional alert categoriesAccessibility settings for alert deliveryDers 4Gerçek zamanlı uyarı teslimi: push bildirimleri, WebSocket/Socket.IO, sunucu gönderimli olaylar ve yedek anketlemeGerçek zamanlı uyarı teslim kanalları ve takaslarını keşfedin. Push, WebSockets, SSE ve anketlemeyi karşılaştırın; yeniden bağlantı ve geri çekilmeyi tasarlayın; uyarıları zamanında, yinelenmez ve mobilde güç verimli tutun.
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 failsDers 5Rota sıralama ve filtreleme: en hızlı, en az aktarma, erişilebilirlik, en az yürüyüşHız, aktarma, yürüyüş ve erişilebilirliği dengeleyen sıralama mantığı tasarlayın. Filtreleri, puanlama modellerini, beraberlik kırma kurallarını ve UX kalıplarını tanımlayarak yolcuların tercih ve kısıtlamalarına uyan rotaları hızlıca bulmasını sağlayın.
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 labelsDers 6Temel özellikler için analitik olaylar: gezi aramaları, bilet alımları, uyarı etkileşimleriGezi aramaları, bilet alımları ve uyarılar için analitik tanımlayın. Özellikleri iyileştirmeye yardımcı olan olay şemalarını, kullanıcı özelliklerini, huni ve gizlilik kontrollerini tasarlayın; düzenlemelere ve kullanıcı beklentilerine uyun.
Core events for search, purchase, and alertsEvent naming, versioning, and schemasFunnels, cohorts, and retention analysisAttribution of alerts to user actionsPrivacy, consent, and data minimizationDers 7Bilet satın alma akışı: ürün kataloğu, ücret kuralları, koltuk/rezervasyonlar vs ödeme kanıtı modelleriÜrün seçiminden doğrulamaya kadar bilet satın alma akışını tasarlayın. Ücret kurallarını, geçişleri, rezervasyonları ve ödeme kanıtını modelleyin; netlik, doğrulama ve kurum arka uçlarıyla uyumluluğu sağlayın.
Product catalog structure and fare familiesFare rules, zones, caps, and concessionsSeat reservations vs open proof-of-paymentValidating eligibility and rider typesPurchase confirmation and receipt designDers 8Uygulama başlatmasından rota sonuçlarına kullanıcı akışı: izinler, konum erişimi, hızlı eylemler, son aramalarUygulama başlatmasından rota sonuçlarına kadar uçtan uca yolculuğu haritalayın. İzin istemlerini, konum yönetimini, kısayolları ve son aramaları tasarlayarak yolcuların minimum sürtünme ve net gizlilik beklentileriyle ilgili gezi seçeneklerine ulaşmasını sağlayın.
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 locationDers 9Uygulama içi uyarı sunumu: gelen kutusu, banner'lar, bağlamsal rota uyarıları, kişiselleştirme ve önceliklendirmeUygulama içindeki bağlamlar arasında uyarıların nasıl göründüğünü tanımlayın. Gelen kutuları, banner'lar ve bağlamsal yüzeyleri önceliklendirme, gruplama ve kişiselleştirmeyle tasarlayarak yolcuları bilgilendirin ama bunaltmayın.
Alert inbox layout and filtering optionsTransient banners, toasts, and modalsContextual alerts on route and ticket viewsPrioritization, grouping, and rate limitingPersonalization based on usage and linesDers 10Satın alma ve ağ arızaları sırasında hata yönetimi ve yeniden deneme kalıplarıKullanıcı güvenini kaybetmeden satın alma ve ağ arızalarını ele alma kalıplarını öğrenin. Yeniden denemeleri, idempotent işlemleri, çevrimdışı kuyrukları ve net hata mesajlarını tasarlayarak ödemeleri koruyun ve yinelenen ücretleri veya bozuk biletleri önleyin.
Classifying transient vs permanent failuresDesigning safe retry and backoff strategiesIdempotency keys for payment operationsOffline queues and local operation logsUser-facing error messages and recovery flowsDers 11Ödeme entegrasyonu: barındırılan sayfalar vs uygulama içi SDK'lar, PCI kapsam azaltma, belirteçleştirmeÖdeme entegrasyon seçeneklerini ve güvenlik sınırlarını keşfedin. Barındırılan sayfaları ve uygulama içi SDK'ları karşılaştırın, belirteçleştirmeyi tasarlayın ve PCI kapsamını azaltarak ödemeyi pürüzsüz, güvenilir ve uyumlu tutun.
Hosted checkout vs native SDK tradeoffsReducing PCI scope with tokenization3-D Secure, SCA, and regional rulesHandling declines, reversals, and refundsStoring and updating payment instrumentsDers 12Biletler için yerel depolama: güvenli depolama seçenekleri (şifrelenmiş veritabanı, keystore/Keychain) ve belirteçleştirmeBiletler ve belirteçler için güvenli yerel depolama kalıplarını öğrenin. Şifrelenmiş veritabanlarını, Keychain veya Keystore'u ve platform API'lerini karşılaştırın; anahtar döndürme, yedekleme davranışı ve kurcalama veya klonlamaya karşı korumaları tasarlayın.
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