Files
subwatcher/doc/ARCHITECTURE_AND_FLOW.md
wisecolt 0ba0cb1071 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.
2026-02-16 09:32:41 +03:00

1.5 KiB

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.