ποΈ Sistem Mimarisi
Frontend + Backend + External entegrasyon β komple stack
Tam Mimari DiyagramΔ±
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BROWSER (Client) β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Next.js 14 App Router + React Server Components (RSC) β β
β β TanStack Query (React Query) β cache + invalidation β β
β β TradingView Library (blob iframe) β β
β β Recharts + echarts + d3 (10+ chart types) β β
β β PostHog SDK v1.373.5 β β
β β PWA Service Worker (1845 bytes, 248 chunk cache) β β
β β BroadcastChannel + Leader Election (multi-tab) β β
β β Zustand persist (localStorage state) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββΌβββββββββββββββββ¬βββββββββββββ β
β βΌ βΌ βΌ βΌ β
β [REST API] [WebSocket] [TradingView] [PostHog] β
ββββββββββββββββΌββββββββββββββββΌβββββββββββββββββΌβββββββββββββΌββββββββββ
β β β β
βΌ βΌ βΌ βΌ
βββββββββββββββ ββββββββββββββββ [Blob URL] analytics.
β fvt.com.tr β β 4 WS path β fvt.com.tr
β /api/* β β + 3 ext WS β (PostHog)
ββββββββ¬βββββββ ββββββββ¬ββββββββ
βΌ βΌ
ββββββββββββββββββββββββββββββββββββ
β BACKEND (NestJS muhtemel) β
β - 22 modΓΌl β
β - 250+ endpoint β
β - Validation pattern β
β - TΓΌrkΓ§e field naming β
ββββββ¬ββββββββ¬ββββββββ¬ββββββββ¬βββββββ
β β β β
βΌ βΌ βΌ βΌ
βββββββ βββββββ ββββββββ ββββββββββββ
β SQL β βRedisβ βEventBusβJob Queueβ
β DB β βCacheβ β Pub/Subβ (cron) β
βββββββ βββββββ ββββββββ ββββββββββββ
β
βββββββββββΌββββββββββββββββ¬ββββββββββββββββ¬βββββββββββββ
βΌ βΌ βΌ βΌ βΌ
[BIST] [KAP] [TEFAS] [Binance] [Matriks Radix]
Hisse Aksiyon AylΔ±k fon Kripto Real-time fiyat
fiyat BilanΓ§o rapor OHLC JWT RS256
endeks TemettΓΌ rt/dl broker
π‘ Frontend Stack
| Katman | Teknoloji | AmaΓ§ |
|---|---|---|
| Framework | Next.js 14 App Router | RSC + SSR + Routing |
| State | TanStack Query | Server state cache + invalidation |
| Local state | Zustand persist | 14 localStorage key |
| Charts (1) | TradingView Library | Profesyonel grafik (blob iframe) |
| Charts (2) | Recharts | 10+ chart bileΕeni |
| Charts (3) | echarts | Heatmap, advanced |
| Charts (4) | d3 | Custom SVG |
| Analytics | PostHog v1.373.5 | Events + Session + Vitals + Surveys |
| PWA | Manifest + SW | Standalone, offline static |
| Multi-tab | BroadcastChannel | Leader election (WS optimize) |
π Backend Tahminleri
| Konu | Tahmin | KanΔ±t |
|---|---|---|
| Framework | NestJS | Validation error pattern, class-validator mesajlarΔ± |
| DB | SQL (PostgreSQL muhtemel) | Integer ID convention, relational data |
| Cache | Redis | Popular search counter (TLY 383K), session |
| Event Bus | Redis Pub/Sub | Domain events iΓ§in multi-server sync |
| WebSocket | Socket.IO | Custom events + ack pattern |
| Auth | JWT + Cookie (HTTPOnly) | Refresh token in localStorage |
| Job Queue | Cron + Worker | TEFAS aylΔ±k batch, KAP scraper |
π External Entegrasyonlar (11)
BIST
Hisse fiyat, endeks, devre kesici (Matriks proxy ΓΌzerinden)
KAP
Resmi Εirket aΓ§Δ±klamalarΔ±, bilanΓ§o, temettΓΌ, sermaye artΔ±rΔ±mΔ±
TEFAS
YatΔ±rΔ±m fonu NAV, aylΔ±k portfΓΆy raporu, MKK kayΔ±t
Binance
Kripto real-time WS (wss://stream.binance.com:9443) + /api/v3/klines proxy
Matriks Radix
Profesyonel BIST real-time veri (rt + dl WS, JWT RS256 30dk)
Anthropic
Claude Haiku API β Apex AI (/api/asistan/sor kaynak: haiku)
YouTube
CanlΔ± yayΔ±n iframe embed (video={canliYayinKod})
VakΔ±fBank
Sanal POS β PRO ΓΆdeme (/api/payment/vakifbank/create)
Google / Apple
OAuth login (/api/auth/google, /apple)
Parqet CDN
YabancΔ± hisse logolarΔ± (assets.parqet.com)
iShares
TUR ETF holdings scrape (TΓΌrk hisse aΔΔ±rlΔ±klarΔ±)
π Veri AkΔ±Ε YΓΆnleri
- DΔ±Ε β Δ°Γ§: BIST/KAP/TEFAS/Binance β FVT DB (scraper, WS, batch)
- Δ°Γ§ β Δ°Γ§: Domain Events (CQRS pattern) β modΓΌller arasΔ± sync
- Δ°Γ§ β KullanΔ±cΔ±: REST API + WebSocket push
- KullanΔ±cΔ± β Δ°Γ§: Mutation (POST/PUT/DELETE) β backend domain event