13 Commits

Author SHA1 Message Date
d50eaf250d feat(ios): align app UX with share extension interactions
- redesign main app screen to dark card-based layout

- add half-star drag/tap rating with haptic feedback

- add in-app comments list and composer interactions
2026-03-05 12:31:27 +03:00
d268bc5696 feat: revamp iOS share extension UX and improve Prime URL parsing
- redesign Share Extension with dark streaming-inspired layout

- add dynamic half-star rating interaction with stronger haptics

- improve dismiss behavior and comments composer UX

- support app.primevideo.com share links via gti parsing
2026-03-03 23:46:01 +03:00
8bd4f24774 feat(UI): ios için güncellemeler içerir. 2026-03-03 22:50:14 +03:00
5c6a829a4d feat(ios): share extension ile Ratebubble iOS istemcisini ekle ve paylaşım akışını düzelt 2026-03-01 18:07:07 +03:00
8c66fa9b82 feat(tmdb): cast alanina gore katı eslesmeli arama destegi ekle 2026-03-01 01:57:57 +03:00
79f90cb287 feat(ui): ana katalog basligini Ratebubble olarak guncelle 2026-03-01 01:57:13 +03:00
ad65453fcf feat(ui): saglayici logosu, kart duzeni ve admin silme onay modali ekle 2026-03-01 01:13:59 +03:00
84131576cf feat(api): Prime Video scraping ve saglayiciya duyarlı metadata destegi ekle 2026-03-01 01:13:41 +03:00
96d8a66a97 chore(gelistirme): frontend servisini docker compose yapisina ekle 2026-03-01 01:12:49 +03:00
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
c0841aab20 feat(frontend): admin dashboard + içerik kataloğu UI, realtime sync
- index.css: IBM Plex Sans + Bricolage Grotesque font'ları import edildi;
  CSS custom property sistemi (--bg-base, --accent-main vb.) tanımlandı;
  body'ye fixed radial gradient + grid overlay arka plan eklendi.

- main.tsx: MantineProvider tema güncellendi — IBM Plex Sans/Bricolage
  Grotesque font ailesi, responsive heading boyutları, özel radius/shadow
  değerleri ayarlandı.

- App.css: Gereksiz yorum temizlendi, stil yönetimi route-level CSS'e taşındı.

- MoviesPage.tsx (büyük güncelleme):
  • Katalog görünümü: film/dizi grid, arama, sıralama, backdrop modal.
  • Admin Dashboard görünümü: cache özeti, content istatistikleri, job
    durum sayaçları, failed job listesi, cache expiry tablosu, metrics
    (hit/miss oranı, kaynak dağılımı).
  • Admin aksiyonlar: cache temizleme, cache ısıtma, başarısız job
    yeniden kuyruklama, eski içerik yenileme.
  • Socket.IO entegrasyonu: content:event dinlenerek katalog anlık
    güncelleniyor; metrics:updated ile dashboard metrikleri canlı akıyor.
  • Reconnect davranışı: bağlantı kopunca her görünüm kendi snapshot'ını
    otomatik yeniliyor.

- movies-page.css (yeni): MoviesPage'e özel kart, backdrop, istatistik
  kutusu ve animasyon stilleri.

- vite.config.ts: /socket.io proxy kuralı eklendi (ws: true) — dev
  sunucusu üzerinden WebSocket bağlantısı backend'e yönlendiriliyor.

- frontend/.env.example (yeni): VITE_API_BASE_URL, VITE_WEB_API_KEY,
  VITE_ADMIN_API_KEY değişken şablonu eklendi.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 12:00:22 +03:00
5c496277f2 feat(backend): realtime event system, admin API ve metrics altyapısı
- socket.ts: ContentRealtimeEvent, CacheRealtimeEvent, MetricsRealtimeEvent
  tipleri eklendi; emitContentEvent / emitCacheEvent / emitMetricsEvent
  fonksiyonları ile tüm istemcilere broadcast desteği getirildi.
  emitJobCompleted imzası GetInfoResponse + DataSource ile güçlendirildi.

- auth.middleware.ts: require() tabanlı env erişimi static import'a
  dönüştürüldü; admin-only endpointler için adminOnlyMiddleware eklendi
  (X-API-Key !== API_KEY_ADMIN → 403).

- cache.service.ts: set / delete / clearAll işlemlerinden sonra
  emitCacheEvent çağrısı eklenerek cache mutasyonları anlık yayınlanıyor.

- content.service.ts: create / update / delete sonrasında emitContentEvent
  çağrısı eklenerek DB yazımları Socket.IO üzerinden duyuruluyor.

- job.service.ts: async ve sync akışa MetricsService entegrasyonu eklendi;
  cache hit/miss ve kaynak (cache/database/netflix) sayaçları her işlemde
  artırılıyor.

- types/index.ts: AdminOverviewResponse ve AdminActionResponse tipleri
  merkezi olarak tanımlandı.

- admin.service.ts (yeni): getOverview, clearCache, warmupCacheFromDatabase,
  retryFailedJobs, refreshStaleContent operasyonları implement edildi.
  Redis pipeline ile TTL/boyut analizi ve DB metrikleri paralel toplanıyor.

- metrics.service.ts (yeni): Redis hash tabanlı cache hit/miss ve kaynak
  sayaçları; her artışta MetricsRealtimeEvent yayınlanıyor.

- api.routes.ts: Admin endpointleri eklendi:
    GET  /api/admin/overview
    POST /api/admin/cache/clear
    POST /api/admin/cache/warmup
    POST /api/admin/jobs/retry-failed
    POST /api/admin/content/refresh-stale

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 11:59:59 +03:00
97fb289fe7 first commit 2026-02-28 02:44:41 +03:00