docs: mimari ve operasyon dokümantasyonlarını ekle
- `ARCHITECTURE_AND_FLOW.md`: Mimari, servis sorumlulukları, kuyruklar ve iş akışı. - `HANDOVER_2026-02-16.md`: Tamamlanan kapsam, düzeltmeler ve sonraki adımlar. - `OPERATIONS_RUNBOOK.md`: Dev/prod çalıştırma, test ve sık karşılaşılan sorunlar. - `TURKCEALTYAZI_REAL_STATUS.md`: Gerçek provider entegrasyon durumu ve yapılacaklar. - `README.md`: Dokümantasyon dizini için giriş ve indeks.
This commit is contained in:
91
doc/HANDOVER_2026-02-16.md
Normal file
91
doc/HANDOVER_2026-02-16.md
Normal file
@@ -0,0 +1,91 @@
|
||||
# Handover Notu (16 Subat 2026)
|
||||
|
||||
Bu belge, 16 Subat 2026 tarihine kadar subwatcher projesinde tamamlanan calismalari ozetler.
|
||||
|
||||
## 1) Tamamlanan kapsam
|
||||
|
||||
- Monorepo iskeleti olusturuldu:
|
||||
- `services/core` (Fastify + watcher + BullMQ + Mongo)
|
||||
- `services/api` (Fastify + provider katmani + extraction/security/selection)
|
||||
- `services/ui` (React + Vite)
|
||||
- Docker yapisi kuruldu:
|
||||
- `compose.dev.yml` (hot reload)
|
||||
- `compose.yml` (prod)
|
||||
- Her servis icin Dockerfile
|
||||
- Temel altyazi pipeline aktif:
|
||||
- Dosya izleme
|
||||
- Stabil dosya kontrolu
|
||||
- Parse
|
||||
- ffprobe (hata halinde fallback mediaInfo)
|
||||
- Subtitle arama
|
||||
- Encoding normalize + hedefe yazma
|
||||
- Mongo koleksiyonlari ve job log mekanizmasi aktif.
|
||||
- UI sayfalari aktif:
|
||||
- Dashboard
|
||||
- Jobs
|
||||
- Job Detail (SSE log akisi)
|
||||
- Review listesi + manuel secim akisi
|
||||
- Settings
|
||||
- Watched Paths
|
||||
- API tarafinda mock provider altyapisi aktif:
|
||||
- TurkceAltyazi (mock)
|
||||
- OpenSubtitles (mock)
|
||||
- Archive extraction/security aktif:
|
||||
- 7z extraction
|
||||
- zip slip kontrolu
|
||||
- limit kontrolleri
|
||||
- icerik tabanli SRT/ASS validasyonu
|
||||
|
||||
## 2) Sonradan yapilan kritik duzeltmeler
|
||||
|
||||
- `p7zip-rar` Docker build hatasi duzeltildi:
|
||||
- `services/api/Dockerfile` -> `p7zip-full unrar-free`
|
||||
- Dev ortamda bagimlilik drift sorunu duzeltildi:
|
||||
- `compose.dev.yml` icin `api/core/ui` servislerine:
|
||||
- `command: sh -c "npm install && npm run dev"`
|
||||
- Parse gorunurlugu iyilestirildi:
|
||||
- `PARSE_DONE` log meta icine `release/year/season/episode`
|
||||
- UI Job Detail ekraninda release/year/season-episode gosterimi
|
||||
|
||||
## 3) Gercek TurkceAltyazi entegrasyonu (v2) icin yapilanlar
|
||||
|
||||
- Feature flag eklendi (API env):
|
||||
- `ENABLE_TURKCEALTYAZI_REAL`
|
||||
- `TURKCEALTYAZI_ALLOW_MOCK_FALLBACK`
|
||||
- `TURKCEALTYAZI_BASE_URL`
|
||||
- `TURKCEALTYAZI_TIMEOUT_MS`
|
||||
- `TURKCEALTYAZI_MIN_DELAY_MS`
|
||||
- Yeni real adapter helper eklendi:
|
||||
- `services/api/src/lib/turkcealtyaziReal.ts`
|
||||
- `TurkceAltyaziProvider` guncellendi:
|
||||
- real search denemesi
|
||||
- detail->download URL resolve
|
||||
- dosya indirme (archive/direct ayrimi)
|
||||
- Provider trace adimlari eklendi:
|
||||
- `TA_SEARCH_REQUEST`
|
||||
- `TA_SEARCH_PARSED`
|
||||
- `TA_DETAIL_FETCHED`
|
||||
- `TA_DOWNLOAD_URL_RESOLVED`
|
||||
- `services/api/package.json` eklendi:
|
||||
- `axios`
|
||||
- `cheerio`
|
||||
|
||||
## 4) Mevcut calisan durum
|
||||
|
||||
- API ve Core servisleri basariyla ayaga kalkiyor.
|
||||
- Yeni bagimliliklar kurulduktan sonra `ERR_MODULE_NOT_FOUND: axios` problemi cozuldu.
|
||||
- Pipeline genel olarak calisiyor; yeni eklenen film dosyalarinda job ilerlemesi izlenebiliyor.
|
||||
|
||||
## 5) Bilinen riskler
|
||||
|
||||
- TurkceAltyazi HTML parser heuristik, site DOM degisirse kirilabilir.
|
||||
- Gercek TA akisi icin cookie/challenge korumalari ihtiyac halinde ek hardening gerektirebilir.
|
||||
- Watcher coklu event uretebildigi icin tek dosya icin birden fazla job olusabiliyor (de-dup katmani guclendirilmeli).
|
||||
|
||||
## 6) Sonraki oncelikli isler (onerilen)
|
||||
|
||||
1. Watcher dedup mekanizmasi ekle (path + zaman penceresi + aktif job kontrolu).
|
||||
2. TurkceAltyazi parserini fixture testlerle sabitle.
|
||||
3. TA hata tiplerini ayir (network/parsing/rate-limit/blocked).
|
||||
4. Core tarafinda retry/policy netlestir.
|
||||
|
||||
Reference in New Issue
Block a user