Aşağıdaki tablo, sihirbazda yaptığın seçimlere göre üretilen statik referans mimari. Her sütun bir mimari katman; her kart bir bileşen + alt senaryo + karar gerekçesi içerir. Ekip eğitim oturumunda sırayla aşağı, sonra yana okumak için tasarlandı.
Başkasına framework satıyorsun. Solo başlangıç, AI-first, white-label tenant, MIT + Managed Cloud. Detaylı katman ayrımı bu seçimlere uyarlanmıştır.
Web tarayıcı ana erişim, offline'a dirençli
Flowbite tabanlı, Tailwind utility-first
Cihaz spektrumuna uyum
White-label per-tenant brand
Çok dilli içerik + UI
v0.2 — backlog
Tek VPS için tek binary çözüm
Tahtada daire içindeki kritik bant
Kötüye kullanım + cost guard
CSP + clickjacking + HSTS
MinIO origin + Caddy edge cache
Cloudflare frontmost — büyürken
Tahtada kırmızı — birincil backend
CRUD jeneratörü ile otomatik
TS SDK paketi (npm registry)
Karma/document veri için opsiyonel
Bildirim + agent stream
Feature başına dilim — AI üretmesi kolay
AI agent yürütme motoru
No-code akış kuralları
Uzun süren async görevler
Cron + on-demand iş kuyruğu
Auth + kim ne yapabilir
Drupal Field / Frappe Custom Field
Tek kaynak şema — DB + API + TS
Entity + revisions + audit
Drupal Layout Builder benzeri
Hybrid arama policy'si
Plugin lifecycle yönetimi
Managed Cloud edition için
Hexagonal port — model swap ucuz
Tenant-aware kayıtlı agentlar
Doc → chunk → vector
BM25 + vector kombinasyonu
Git-backed versiyonlama
Tüm LLM çağrıları kayıtlı
Request → tenant_id
Per-tenant CSS variable seti
Veri sızıntısı imkansız
Self-service signup workflow
Feature flag + soft/hard limit
Pause / archive / delete
Yapısal + JSONB karma
Schema-first + tip güvencesi
Sync-friendly document store
Full-text + facet
Vector search
Object storage
Cache + rate limit + pubsub
Komut satırı jeneratör
Tıklayarak entity + alan
Listing / dashboard no-code
Schema intellisense
AI-generated tip-safe kod
MDX + live playground
JSON Lines, request_id korelasyon
Değiştirilemez event log
Prometheus-uyumlu
OpenTelemetry SDK
/healthz + /readyz
pg_dump + MinIO snapshot
GitHub Actions → Hetzner
Eğitim için: bir HTTP isteği aşağıdaki sırayla katmanlardan geçer. Her geçişte hangi sorumluluğun yerine getirildiğini ekibinize açıklayabilirsiniz.
Kullanıcı PWA'da form gönderir. Service Worker offline ise IndexedDB'ye kuyruğa alır, sonra retry.
Caddy TLS terminate. Write Protection JWT + tenant + CSRF doğrular, rate limit kontrol, security header ekler.
FastAPI route Pydantic ile validate. OpenAPI'den üretilen tip + RPC SDK aynı kontrak.
Vertical slice handler use-case'i çağırır; gerekirse Agent Runtime tetiklenir (AI tool-call) veya ECA Engine event yayınlar.
Bounded context içinde iş kuralı uygulanır. Field/Custom Field API doğrulaması yapılır.
Agent gerekirse Provider Abstraction üzerinden LLM çağırır; Hybrid Ranker bağlam getirir; tüm çağrı AI Audit'e düşer.
Tenant Resolver tenant_id'yi enjekte eder; Quota Gate plan limitini kontrol eder; brand theme UI'a yayılır.
Postgres + Prisma ile yazma; gerekirse Elastic/pgvector reindex event'i Redis pub/sub'a düşer.
CLI/Designer üretilen kod buradan akar. Geliştirme aşamasında — runtime'da yer almaz, geliştirici loop'unun parçası.
Tüm adımlar log + metric + trace olarak yayılır. Audit Trail yazma işlemlerini immutable kayıtla saklar.
Eğitim oturumunda katman ihlali olarak işaretleyin — bunlar gözden kaçırılınca framework çöker.
Domain bounded context bir başkasını doğrudan import etmesin — sadece event veya port üzerinden.
Sorgu yazarken WHERE'a tenant_id koymayı unutma. Middleware'den otomatik ekleyen helper kullan, manuel SQL yazma.
Plugin core entity'ye doğrudan dokunamaz; sadece ilan ettiği hook + API üzerinden.
LLM çağrısı request handler içinde bloke etmesin — agent runtime queue'ya at, SSE ile sonucu döndür.
Doctype Designer ile yapılan değişiklik git'e commit'lenmeden tenant tarafına yansımasın.
Yazma operasyonları audit'siz kabul edilmesin. Yasal compliance + güven için zorunlu.