0 %

Direksiyonu profesyonele bırakın. Yolculuğun keyfini siz sürün.

Müşteri

YOFY

Sektör

Mobilite / Premium Ulaşım

Platform

iOS & Android (Flutter)

Zaman Çizelgesi

Çok Aşamalı Yol Haritası

Rol

0'dan Yayına Hazır Hale Getirme

Durum

Yayında

Mobile App Real-Time Maps & Routing Payments Microservices Premium Mobility
YOFY — premium şoförlü yolculuk deneyimi, canlı konum ve rota ekranı

Ön İnceleme

Aracım yanımda, Kontrol bende

YOFY, premium segment için tasarlanmış gerçek zamanlı bir şoför çağırma deneyimidir. Kullanıcı, kendi aracını sürdürmek yerine YOFY şoförünü çağırır; şoför kullanıcıyı hedefe ulaştırırken uygulama anlık konum, rota ve durum bilgisini yönetir. İstenen hedef: kusursuz kullanıcı deneyimi + yüksek güvenlik standardı + ölçeklenebilir mikroservis mimarisi.

Challenge

Karşılaşılan Zorluklar Bizi Güçlendirir.

Gerçek zamanlı mobilite uygulamalarında en büyük zorluk, canlı konum ve durum akışını hatasız yönetmektir. Bir eşleştirme gecikmesi, yanlış sürücü seçimi veya çakışan ride state’leri hem kullanıcı deneyimini bozar hem de operasyonel maliyet yaratır.

YOFY’nin premium hedef kitlesi, fiyatın yanında güvenlik, dakiklik ve ‘sürtünmesiz’ deneyim bekler. Bu nedenle eşleştirme/dispatch, rota hesaplama, ödeme, chat ve operasyon paneli gibi tüm bileşenlerin birbirini doğru beslediği, hataya dayanıklı bir mimari gereklidir.

Yofy — onboarding flow with dietary preference selection
Yofy — main dashboard showing daily nutritional progress
Yofy — camera scanning interface with real-time food overlay
Yofy — meal plan generation screen with personalized suggestions

Çözmemiz Gereken Temel Problemler

  • Kullanıcı–şoför eşleştirme (dispatch) ve uygun sürücü seçimi
  • WebSocket tabanlı canlı durum makinesi: requested → matched → en-route → arrived → in-ride → completed/cancelled
  • Canlı konum yayını ve harita kamera kontrolü (Google Maps standardına yakın UX)
  • Rota sapması tespiti ve yeniden rota hesaplama (ride:new_route event’i ile polygon/polyline çizimi)
  • Ödeme altyapısı entegrasyonu (Payten / PayTR / iyzico adapter yaklaşımı)
  • Uygulama içi chat + in-app chat notification (spam/duplicate mesaj sorunlarını önleyecek mimari)
  • Admin & operasyon paneli için altyapı (live map, ride takibi, iade/itiraz, belge onayı)
  • KVKK/GDPR uyumluluğu ve güvenlik (audit log, RBAC, veri saklama politikaları)

Yaklaşımımız

  1. 1

    Keşif & Risk Haritalama

    Kritik kullanıcı akışlarını (kayıt, ride request, eşleşme, sürüş, ödeme, iptal, değerlendirme) çıkarıp risk noktalarını belirledik: concurrency, state drift, ödeme başarısızlıkları, konum izinleri, güvenlik ve uyumluluk.
  2. 2

    Gerçek Zamanlı Öncelikli Mimari

    Ride/Driver/User/Chat gibi domain’leri mikroservis yaklaşımıyla ayırdık. Gateway + event tabanlı WebSocket akışı ile state machine’i tek gerçek kaynağa bağladık.
  3. 3

    Haritalar, Rotalama & Sapma Yönetimi

    Google Maps entegrasyonu, kamera kilidi/serbest modu, heading’e göre yönlendirme ve rota sapması tespiti ile ‘yeni rota’ olayını hem sürücü hem kullanıcı tarafına deterministik şekilde yaydık.
  4. 4

    Ödemeler & Uyumluluk

    Ödeme sağlayıcılarını adapter pattern ile izole ettik. 3D Secure akışı, callback handling, iade/iptal ve mutabakat raporlaması için temel altyapıyı hazırladık.
  5. 5

    Kalite, Yük & Gözlemlenebilirlik

    WebSocket yük testleri, matching performans testleri, log/metric/trace altyapısı ve canary/rollback stratejileri ile production’a uygun güvence katmanlarını ekledik.
Yofy — onboarding flow with dietary preference selection
Yofy — main dashboard showing daily nutritional progress
Yofy — camera scanning interface with real-time food overlay
Yofy — meal plan generation screen with personalized suggestions

Çözüm Mimarisi

Mobil (Flutter)

Tek uygulama kod tabanı (Flutter) ile iOS ve Android hedeflendi. BLoC state management ile ride state, location state, chat state ve payment state ayrıştırıldı.

Google Maps kamera kontrolü: kullanıcı yönü (heading) ile otomatik rotation, ‘lock/unlock’ davranışı, kullanıcı haritayı sürüklediğinde lock’un otomatik kapanması gibi premium beklentiyi karşılayan detay UX kurguları.

Backend (Node.js Microservices + MSSQL)

Auth, User, Driver, Ride, Route, Pricing, Payment, Notification, Chat servisleri domain sınırlarıyla ayrıştırıldı; API Gateway üzerinden versiyonlama ve throttling sağlandı.

MSSQL üzerinde çekirdek entity’ler + indeksleme stratejisi kuruldu. Geo sorgular için grid/quadkey veya ek bileşen yaklaşımı (Redis GEO opsiyonu) değerlendirildi. Dispatch tarafında yarış durumlarını önlemek için transaction/lock stratejileri planlandı.

Gerçek Zamanlı Dispatch & State Machine

Dispatch v1: en yakın uygun şoför + tahmini varış süresi + çalışma durumu + performans skoru. Fan-out bildirim ve timeout/yeniden deneme ile eşleştirme hızı optimize edilir.

State machine tek gerçek kaynaktır. Sürücünün aktif ride’ı varken yeni ride match edilmesi engellenir (busy driver eligibility kontrolü + transaction-safe assignment).

Chat & In-App Bildirimler

Chat, WebSocket eventleriyle gerçek zamanlı çalışır ve mesajlar yalnızca ChatBloc state’i üzerinden yönetilir. Duplicate mesaj problemleri; messageId / timestamp+hash dedupe ve tek subscription kuralı ile çözülür.

In-app chat notification: kullanıcı chat ekranında değilken gelen mesajlarda local notification tetiklenir; chat ekranındayken sadece UI güncellenir. Böylece ‘spam bildirim’ ve ‘sessiz kalma’ problemleri engellenir.

Güvenlik & Uyumluluk

  • KVKK/GDPR: açık rıza, aydınlatma metinleri, veri saklama süreleri, silme/anonimleştirme politikası
  • Uçtan uca TLS, güvenli başlıklar, rate limiting, brute-force koruma
  • RBAC + audit log (admin panel operasyonları için)
  • Ödeme tarafında PCI temasını minimize eden yaklaşım (tokenization / 3D akışları sağlayıcı üzerinden)
  • Observability: merkezi log, metrik, iz sürme ve anomali alarmları (eşleşme süresi artışı, ödeme hata artışı)

SWOT Analizi

  • Gerçek zamanlı WebSocket mimarisiyle anlık konum ve durum yönetimi
  • Adapter pattern ile çoklu ödeme sağlayıcı desteği (Payten/PayTR/iyzico)
  • Flutter ile tek kod tabanından iOS & Android çıktısı
  • Domain-driven mikroservis ayrışımı (Ride, Driver, Payment, Chat)
  • DDOS saldırılarına ve brute-force saldırılara karşı; rate limiting ve güvenlik önlemleri
  • Gözlemlenebilirlik altyapısı (log, metric, trace) ile proaktif sorun tespiti
  • Kubernetes ve container tabanlı dağıtım ile ölçeklenebilir altyapı
  • Premium segment odağı — yüksek değer, düşük volume
  • Google Maps API maliyeti yüksek hacimde artabilir
  • Şoför havuzu büyümezse eşleştirme süreleri uzar
  • Flutter ekosisteminde bazı native harita eklentilerinde sınırlamalar
  • Kurumsal anlaşmalar (otel, havalimanı, etkinlik şirketleri)
  • Çoklu şehir / ülke genişlemesi
  • Abonelik modeli ile öngörülebilir gelir
  • Otonom araç entegrasyonu için altyapı uygunluğu
  • Uber/Bolt gibi büyük oyuncuların premium segmentte genişlemesi
  • Yasal düzenlemeler ve lisanslama gereksinimleri
  • Ekonomik durgunlukta premium hizmet talebinin düşmesi

Başarı Hedefleri

< 30s

Ortalama eşleştirme süresi hedefi

< 2s

Rota/konum güncelleme gecikmesi hedefi

99.9%

Başarılı ödeme oranı hedefi

99.9%

Servis uptime hedefi

Sonuçlar

< 30s

Ortalama eşleştirme süresi hedefi

< 2s

Rota/konum güncelleme gecikmesi hedefi

99.9%

Başarılı ödeme oranı hedefi

99.9%

Servis uptime hedefi

Tech Stack

Flutter BLoC google_maps_flutter WebSocket Node.js Microservices MSSQL Redis (optional GEO) Docker docker-compose.prod.yaml CI/CD Pipelines OpenTelemetry (OTEL) Prometheus / Grafana

Lorem İpsum

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ipsum soluta voluptatum nobis excepturi deleniti dignissimos iure inventore reprehenderit! Dicta at debitis laboriosam non error accusamus vitae fuga praesentium obcaecati esse!

Yofy app — food recognition interface showing real-time nutritional breakdown

Premium bir mobilite deneyimi mi inşa ediyorsun?

YOFY gibi gerçek zamanlı, ödeme entegreli, ölçeklenebilir sistemlerde ürün + mühendislik teslim ediyoruz.