04. Arsitektur Sistem
Ringkasan
T3 Stack Single-App Boilerplate dirancang sebagai aplikasi web modular dengan performa tinggi yang mengedepankan keamanan tipe data penuh.
Diagram Arsitektur
mermaid
graph TB
subgraph Client Layer
UI["Komponen React 19 / Tampilan UI"]
ctx["Context Providers (Theme, i18n, TRPCProvider)"]
end
subgraph Server Layer (Next.js 15 App Router)
RSC["React Server Components / Layout"]
NextAuth["NextAuth.js (Sesi & JWT)"]
tRPC["tRPC v11 Server Root Router"]
subgraph Security & Middleware Guards
RateLimit["Rate Limiter (Upstash / Memory)"]
RBAC["RBAC Procedure Middleware"]
Audit["Audit Logger Service"]
end
subgraph Adapters & Routers
UserRouter["usersRouter"]
RoleRouter["rolesRouter"]
ThemeRouter["themeRouter"]
StorageRouter["storageRouter"]
PaymentRouter["paymentRouter"]
AiRouter["integrationRouter"]
SeoRouter["seoRouter"]
end
end
subgraph Data & Storage Layer
Prisma["Prisma ORM Client"]
MySQL[("MySQL Database")]
R2["Cloudflare R2 / Supabase / Cloudinary"]
end
UI --> ctx
ctx -->|HTTP POST /api/trpc| tRPC
tRPC --> RateLimit
RateLimit --> RBAC
RBAC --> Adapters
Adapters --> Audit
Adapters --> Prisma
Prisma --> MySQL
Adapters --> R2Cara Kerja
1. Pipeline Prosedur tRPC Terpadu
Seluruh pemrosesan data (API) mengalir melalui prosedur tRPC terproteksi di src/server/api/trpc.ts:
2. Inisialisasi Konteks & Layout
Dalam root layout src/app/layout.tsx:
locale di sisi server untuk langsung merender bahasa yang tepat tanpa flicker hidrasi.AppSettings dan menyuntikkannya sebagai CSS Custom Properties.Berkas Terkait
src/app/layout.tsx — Root layout dan provider treesrc/server/api/trpc.ts — Definisi prosedur, rate limiter, dan guard otorisasi tRPCsrc/server/api/root.ts — Penggabungan seluruh sub-router tRPCsrc/server/db.ts — Inisialisasi Prisma Client database