Livra
Problem
Twitch ve Kick benzeri bir canlı yayın deneyimini, hazır bir video servisine bağımlı olmadan, hem web hem mobilde aynı backend üzerinde çalışacak şekilde kurmak gerekiyordu.
Yaklaşım
Web istemcisini React 18 ve Vite ile, mobil istemciyi Flutter ve Riverpod ile geliştirdim; kimlik doğrulama, veritabanı ve gerçek zamanlı senkronizasyon için Firebase Authentication ve Cloud Firestore kullandım. Video akışını hazır bir servis yerine WebRTC ile sıfırdan kurdum; Firestore’u signaling kanalı olarak kullanarak tek yayıncıdan çok izleyiciye aktarımı web ve mobilde birebir aynı çalışacak şekilde uyguladım.
Sonuç
Gerçek zamanlı sohbet, takip sistemi ve kategori bazlı keşif ekranı ekledim. Firestore güvenlik kurallarını least-privilege (en az yetki) prensibiyle alan bazlı yazdım. Takip edilen bir yayıncı yayına başladığında Cloud Functions + Firebase Cloud Messaging ile takipçilere anlık bildirim gönderilmesini sağladım.
