MediaTracker
Canlı local-first medya takip uygulaması: hesapsız yerel kütüphane, isteğe bağlı Cloud Sync, hedefler, takvim, sosyal özellikler ve deterministik öneriler.
Portfolyonun canlıya alınmış full-stack ürün mühendisliği çalışması; kullanıcı akışlarının yanında veri bütünlüğü, erişim yetkisi ve güvenli sürüm yönetimine odaklanır.
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
- PostgreSQL 18
- Better Auth
- Node.js / Passenger
Kısa Bilgiler
- Rol
- Portfolyonun canlıya alınmış full-stack ürün mühendisliği çalışması; kullanıcı akışlarının yanında veri bütünlüğü, erişim yetkisi ve güvenli sürüm yönetimine odaklanır.
- Durum
- Canlı Ürün (v1)
- Seri
- Bağımsız artifact
- Kategori
- Web Uygulaması
- Ana Girdi
- Kullanıcının medya girdileri ve izinli kaynaklardan katalog verisi
- Ana Çıktı
- Cihazda kullanılabilen kişisel medya arşivi; istenirse hesap kapsamlı Cloud ve sosyal görünüm
Sistem Özeti
MediaTracker; dizi, film, anime, manga ve kitapları tek kütüphanede izlemek için geliştirdiğim local-first web uygulamasıdır. Yerel mod hesap gerektirmez ve Cloud geçici olarak kullanılamadığında çalışmaya devam eder. İsteğe bağlı hesap ve eşitleme, kontrol edilen sosyal özellikler ve deterministik önerilerle genişler. 16 Ekim 2026'da yeni Production v1 sürümü Plesk/Passenger üzerinde yayımlanmış, temel sağlık, oturum, Cloud Sync, kayıt/e-posta ve gizlilik akışları operatör tarafından doğrulanmıştır.
Mevcut Kapsam
Canlı uygulama; dashboard, kütüphane, ilerleme, hedefler, Release Calendar, kişiselleştirme, sürümlü portable JSON yedekleri ve veri içe aktarma içerir. Better Auth ile e-posta doğrulaması, native PostgreSQL 18 ve owner-scoped Cloud aktarımı kullanılır. Cloud queue, revision, idempotency, tombstone ve çakışma korumalarıyla yönetilir. Profil görünürlüğü, takip/engel, feed, yorumlar, öneri mesajları ve bildirimler sunucu yetkilendirmesiyle sınırlandırılır. Recommendation V2'nin aktif sıralaması deterministiktir. CI'da kaynak kontrolleri, regresyonlar, izole PG18 ispatları ve SHA'ya bağlı Linux artifact üretimi uygulanır. Supabase adapter'ı ayrı fallback'tir, canlı backend değildir.
Ana Sistemler
- Owner-scoped Local Library / Guest Mode
- Portable JSON Backup / Recovery
- Verified Email / Better Auth Sessions
- Native PostgreSQL 18 / FORCE RLS
- Cloud Sync / Revision / Idempotency / Tombstones
- Release Calendar / Goals / Progress
- Deterministic Recommendation V2
- Profiles / Follow / Feed / Notifications
- Fail-closed Provider Policy
- GitHub Actions / Linux Artifact / Passenger Release
Teknik Etiketler
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
- PostgreSQL 18
- Better Auth
- Node.js / Passenger
Girdi → İşleme → Çıktı
Girdi
Kullanıcının medya girdileri ve izinli kaynaklardan katalog verisi
İşleme
Yerel kütüphane, ilerleme/hedef takibi, kontrollü eşitleme ve deterministik öneri sıralaması
Çıktı
Cihazda kullanılabilen kişisel medya arşivi; istenirse hesap kapsamlı Cloud ve sosyal görünüm
Mimari Akış
- 1
Owner-scoped Browser Library
- 2
Next.js UI / Same-origin API
- 3
Better Auth / Verified Session
- 4
PostgreSQL 18 / Owner Context / FORCE RLS
- 5
Cloud Revision / Idempotency / Conflicts
- 6
Calendar / Social / Deterministic Recommendations
- 7
Provider Policy / TVMaze Attribution
Tasarım Kararları
Local-first veri sahipliği
Hesapsız kullanım sürer; Cloud bakımında veya sürüm uyuşmazlığında gönderimler fail-closed durur, yerel kütüphane korunur.
Eşitlemeyi tekrar güvenli çalıştırmak
Revision, idempotency, tombstone ve çatışma sınırları tekrar denenen işlemlerin tutarlılığını ve hesap izolasyonunu hedefler.
Yetkiyi sunucuda doğrulamak
Better Auth oturumu, transaction-local owner context ve FORCE RLS birlikte çalışır; istemci kimlik iddiası tek başına yetki vermez.
Kapalı sağlayıcı politikası ve kontrollü yayın
Lisans/izin açısından netleşmemiş sağlayıcılar Production'da kapalıdır; release, migration ve Linux artifact kanıtları ayrı değerlendirilir.
Sınırlar
- Ücretli AI, Grounded Research ve kalıcı embedding cache sunucu akışları Production v1'de kapalıdır; öneriler deterministik çalışır.
- TMDB/AniList ve yeni OMDb public aramaları kapalıdır. Open Library kimlik/izin koşullarına bağlıdır; dış kapak görüntüleri ayrıca değerlendirilmektedir.
- Cloud'dan otomatik gerçek zamanlı indirme yoktur; indirme/birleştirme kontrollü kullanıcı akışıdır.
- Üretimde test edilen akışlar tüm güvenlik veya KVKK yükümlülüklerinin kapandığı anlamına gelmez; dış aktarım ve bazı silme/restore işletim kontrolleri açıktır.
Planlanan Genişletmeler
- Gerçek ekran görüntüleri, kısa demo ve mimari/CI kanıtlarını projeye ekleme.
- Üçüncü taraf içerik izinlerini ve gizlilik/veri yaşam döngüsü işletimini ayrı takip etme.
- Yeni sağlayıcı ve AI özelliklerini yalnız ayrı onay ve sürüm kapılarından sonra değerlendirme.