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
- Yükleme —
usePollingilk yüklemeyi yapar ve 60 saniyede bir arka planda tazeler. - Normalizasyon —
apiDocServiceham belgeyi ekran tipine çevirir;internal_count/external_countalias'ları burada uygulanır. - Toplamlar —
computeApiDocTotals(rows)KPI değerlerini tüm kayıtlardan hesaplar; arama filtresinden etkilenmez. - Filtre — önce KPI kartı filtresi (
engineFilter), sonra metin filtresi (api_name,url,engine_typeve ekran etiketi üzerinde). - Sıralama — en son adım:
[...bySearch].sort(localeCompare 'tr-TR'). Mutasyonsuzdur; backend sıralamasına dokunulmaz. - 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.