Ana içeriğe geç

Veri Akışı

sequenceDiagram
    participant U as Kullanıcı
    participant F as React SPA
    participant N as nginx / Vite
    participant B as Express API
    participant M as MongoDB

    U->>F: /api-middleware
    F->>N: GET /api/v1/api-docs-list (Bearer token)
    N->>B: GET /api/v1/api-docs-list
    B->>B: authenticate (JWT)
    B->>M: find(api-docs)
    M-->>B: belgeler
    B-->>F: { success, message, data[] }
    F->>F: alias oku, toplamları hesapla, A→Z sırala
    F-->>U: KPI kartları + tablo / kayıt kartları

Adımlar

  1. Yükleme — usePolling ilk yüklemeyi yapar ve 60 saniyede bir arka planda tazeler.
  2. Normalizasyon — apiDocService ham belgeyi ekran tipine çevirir; internal_count / external_count alias'ları burada uygulanır.
  3. Toplamlar — computeApiDocTotals(rows) KPI değerlerini tüm kayıtlardan hesaplar; arama filtresinden etkilenmez.
  4. Filtre — önce KPI kartı filtresi (engineFilter), sonra metin filtresi (api_name, url, engine_type ve ekran etiketi üzerinde).
  5. Sıralama — en son adım: [...bySearch].sort(localeCompare 'tr-TR'). Mutasyonsuzdur; backend sıralamasına dokunulmaz.
  6. Sunum — geniş ekranda tablo, kompakt ekranda kayıt kartı.

Yükleme akışı (dosya)

flowchart LR
    F[SPA] -->|POST /platform/files/upload base64| B[Express]
    B -->|authenticate| B
    B -->|putObject| S[(MinIO)]

Bu yol genel 100 kb gövde sınırından muaftır; sınır PLATFORM_UPLOAD_BODY_LIMIT ile belirlenir.