Files
ratebubble/docs/brainstorms/2026-02-28-realtime-db-redis-ui-sync-brainstorm.md
szbk 48fb0c9487 chore: .env.example güncelleme, brainstorm notu ve build artifact
- .env.example: frontend/.env.example dosyasına yönlendiren yorum eklendi.
- docs/brainstorms/2026-02-28-realtime-db-redis-ui-sync-brainstorm.md:
  realtime DB/Redis/UI sync için mimari kararları, neden event+snapshot
  yaklaşımı seçildiği ve açık soruları belgeleyen brainstorm dökümanı.
- tsconfig.tsbuildinfo: TypeScript incremental build artifact güncellendi.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 12:00:33 +03:00

2.0 KiB
Raw Blame History

date, topic
date topic
2026-02-28 realtime-db-redis-ui-sync

Realtime DB/Redis UI Sync

What We're Building

Hem Yonetici Dashboard hem de Icerik Katalogu, backend tarafında oluşan veri değişimlerini Socket.IO ile anlık alacak. Kapsam yalnız job progress değil; DB write, Redis write, TTL bilgisi, cache hit/miss ve source (cache/database/netflix) telemetrisi de canlı akacak.

Bağlantı kopup geri geldiğinde istemci yalnız yeni eventleri dinlemekle kalmayacak; otomatik snapshot çekip state'i yeniden senkronlayacak. Böylece UI drift ve event kaçırma riski pratikte ortadan kalkacak.

Why This Approach

Üç model değerlendirildi:

  1. Event-only (lightweight): sadece socket eventleriyle state güncelleme.
  2. Polling fallback: belirli aralıkla REST çekme + eventlerle destekleme.
  3. Event + reconnect snapshot (seçilen): normalde event akışı, reconnect sonrası tam snapshot senkronu.

Seçim sebebi: Kullanıcı ihtiyacı "anlık" ve "doğru"; reconnect senaryosu kritik. Event+snapshot, replay/offset kadar karmaşık olmadan güçlü tutarlılık sağlar.

Key Decisions

  • Kapsam: canlı güncelleme hem Dashboard hem Katalog için açık olacak.
  • Event ailesi genişletilecek:
    • content:created|updated|deleted
    • cache:written|expired|cleared
    • metrics:updated (hit/miss, source dağılımı)
    • mevcut job:* korunacak.
  • Snapshot endpointleri:
    • admin panel için /api/admin/overview
    • katalog için /api/content (gerekirse hafif summary endpoint)
  • Reconnect davranışı: socket reconnect olduğunda her iki görünüm kendi snapshot'unu otomatik yenileyecek.
  • YAGNI: event replay/offset ilk sürümde yok; gerekirse v2.

Open Questions

  • Katalogda tüm değişimler anında kart gridine mi işlenecek, yoksa "yeni içerik geldi" toast + soft refresh mi tercih edilecek?
  • Dashboard eventleri için throttling (ör. 250ms batch) gerekli mi?

Next Steps

  • /workflows:plan ile implementasyon adımlarını ve dosya değişimlerini netleştir.