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:
2026-02-16 09:32:41 +03:00
parent 9f07ff445e
commit 0ba0cb1071
5 changed files with 343 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
# Mimari ve Is Akisi
## Servisler
## `services/core`
Sorumluluklar:
- Dizin izleme (`/media/tv`, `/media/movie`)
- Stabil dosya kontrolu
- Dosya adi parse
- ffprobe media analizi
- BullMQ pipeline orchestration
- Job/log API + SSE stream
- Review endpointleri
Queue'lar:
- `fileEvents`
- `mediaAnalysis`
- `subtitleFetch`
- `finalizeWrite`
Durumlar (ozet):
- `PENDING`
- `WAITING_FILE_STABLE`
- `PARSED`
- `ANALYZED`
- `REQUESTING_API`
- `FOUND_TEMP`
- `NORMALIZING_ENCODING`
- `WRITING_SUBTITLE`
- `DONE`
- `NEEDS_REVIEW`
- `NOT_FOUND`
- `AMBIGUOUS`
- `ERROR`
## `services/api`
Sorumluluklar:
- `/v1/subtitles/search`
- `/v1/subtitles/choose`
- archive extraction + guvenlik
- icerik tabanli SRT/ASS dogrulama
- scoring + best/ambiguous/not_found karari
- temp cleanup
Providerlar:
- `TurkceAltyaziProvider`
- `OpenSubtitlesProvider`
Not:
- OpenSubtitles su an mock.
- TurkceAltyazi mock + feature-flag ile real deneme moduna sahip.
## `services/ui`
Sayfalar:
- Dashboard
- Jobs
- Job Detail (SSE canli log)
- Review
- Settings
- Watched Paths
## Veri modeli (Mongo)
- `watched_paths`
- `settings`
- `media_files`
- `jobs`
- `job_logs`
## Uctan uca akis (movie ornegi)
1. Watcher `add/change` event yakalar.
2. `fileEvents` job olusur.
3. Stabil kontrol -> parse -> media kaydi.
4. `mediaAnalysis` ffprobe calistirir.
5. `subtitleFetch` API `search` cagirir.
6. API provider adaylarini indirir/isler.
7. best secilirse core `finalizeWrite` ile dosyayi yazar.
8. Job `DONE` olur, loglar UI'da canli akar.