MedYan

🎯 MedYan — Vision & Mission

*Son Güncelleme: 2026-03-03 Faz 12 — Core Refactor TAMAMLANDI*

🌟 Vizyon

MedYan, kullanıcıların herhangi bir platformdaki medyayı — YouTube, Instagram, TikTok ve 1000+ site — hiçbir teknik bilgiye ihtiyaç duymadan, hızla ve güvenle indirebileceği; kendi altyapısına sahip, bağımsız bir medya çözme motoru olmayı hedefler.

“Hiçbir platforma, hiçbir 3. parti servise bağımlı olmadan çalış.”


🎯 Misyon

  1. Sıfır Maliyet, Maksimum Güç: Pahalı API’ler (Cobalt, RapidAPI vb.) olmadan, kendi yt-dlp + Nexus cookie köprüsü ile tüm platformları destekle.
  2. Kullanıcı Gizliliği: Nexus Chrome Extension ile şifreli (X25519 + ChaCha20) çerez aktarımı — asla cleartext değil.
  3. Otonom Çalışma: Sistem kendini günceller (yt-dlp auto-updater), kendi kendine iyileşir (Circuit Breaker, Retry), yönetici müdahalesi minimumda kalır.
  4. API-First Sadelik: Tek bir REST API → herkes (web, mobil, CLI) bu API’yi kullanabilir. Frontend sadece sunum katmanıdır.

🔄 Proje Yaşam Döngüsü

Kullanıcı URL (Instagram/YouTube/TikTok...)
        │
        ▼
  POST /proxy/detect
  (Platform algıla, seçenekleri göster)
        │
        ▼
  POST /proxy/extract
  (İş kuyruğuna ekle — Asynq/Redis)
        │
     ┌──┘
     │ Async Worker
     │    ├─ yt-dlp çalıştır
     │    ├─ Nexus Cookie Pool'dan çerez al (Redis)
     │    ├─ İndir → /tmp/ (ham dosya)
     │    └─ S3'e yükle → Presigned URL üret
     └──►
        │
        ▼
  GET /proxy/jobs/:id
  (Polling → durum + download URL)
        │
        ▼
  Kullanıcı linki alır, dosyayı indirir

📐 Şu Andaki Mimari Durumu

Katman Teknoloji Durum
API Server Go 1.24 + Fiber v2 ✅ Actif
Job Queue Asynq (Redis) ✅ Actif
Extractor yt-dlp (tek motor) ✅ Temizlendi
Cookie Bridge Nexus (X25519 KEM) ✅ Actif
Storage S3 (R2/MinIO) ✅ Actif
Auth JWT + ENABLE_AUTH flag ✅ Feature-flagged
DB PostgreSQL + ENABLE_DB flag ✅ Feature-flagged
Frontend Vanilla JS/CSS (public/) ✅ Modüler
Firewall Bypass IPv6 + UA Pool + TLS impersonation ✅ Actif

✅ Faz 12: Core Refactor (TAMAMLANDI)

# İş Sonuç
1 cmd/api/main.gomain.go + routes.go + server.go 943 → 115 satır
2 extraction.go → 5 pipeline metodu 757 → 360 satır
3 ytdlp.go DRY birleştirme 825 → 680 satır
4 extraction_test.go 20/20 test PASS

✅ Faz 13: İzleme & Gözlemlenebilirlik (TAMAMLANDI)

Hedef: Üretim ortamında sistemi görünür hale getirmek — metrik, log, sağlık.

✅ Öncelik 1 — Gerçek Prometheus Metrikleri (TAMAMLANDI)

✅ Öncelik 2 — Yapılandırılabilir Log Seviyesi (TAMAMLANDI)

✅ Öncelik 3 — Worker Heartbeat (TAMAMLANDI)

✅ Öncelik 4 — S3 Temizlik Cron (TAMAMLANDI)

✅ Öncelik 5 — Smoke Test Script (TAMAMLANDI)


✅ Refactor Kuralları

  1. Önce test, sonra refactor — Bir şeyi kırmadan değiştirme.
  2. go build ./... her zaman yeşil — Her adımdan sonra derle.
  3. Küçük PR’lar — Her öncelik ayrı bir commit/PR.
  4. YAGNI — İhtiyaç olmadan yeni soyutlama ekleme.