TurboJet
API

Gambaran umum

Modul API Hono, klien bertipe, TanStack Query, dan OpenAPI Scalar.

TurboJet dirancang sebagai kit fullstack yang skalabel dengan lapisan API khusus yang dapat diperluas. API produk ada di packages/api dan di-mount oleh app marketing di /api (apps/marketing/src/app/api/[[...route]]/route.ts).

Frontend memanggilnya lewat klien RPC Hono bertipe (hc) di @repo/api/client, lalu membungkus pemanggilan dengan hook TanStack Query di apps/marketing/src/mutations/.

Mengapa Hono

Hono adalah framework web TypeScript yang modern dan minimal. Cepat, mudah diperluas, dan bisa di-deploy hampir di mana saja. TurboJet memakai klien RPC Hono (hc) untuk pemanggilan bertipe dari browser ke router Anda.

Mengapa TanStack Query

TanStack Query memberi caching, state loading/error, dan pola konsisten untuk mutation dan query. Padukan dengan handle() di sekitar klien bertipe agar respons gagal menjadi error dengan pesan dari API.

Checkout storefront adalah route Next terpisah (POST /api/checkout), bukan modul billing Hono. Route auth Better Auth ada di /api/auth saat di-mount oleh app host.

Arsitektur

LapisanPathTujuan
Mount routerpackages/api/src/index.tsMenggabungkan router modul di bawah /api
Router modulpackages/api/src/modules/*/router.tsHandler HTTP, validasi, auth, rate limiting
Servicepackages/api/src/modules/*/service.tsLogika bisnis dan query database
Clientapps/marketing/src/lib/api.tsKlien Hono bertipe untuk request browser

Scalar / OpenAPI

Saat features.apiDocs aktif, referensi tersedia di:

  • /api/reference — UI Scalar
  • /api/openapi.json — dokumen OpenAPI mentah

Secara default, docs API aktif di development dan nonaktif di production. Dokumen OpenAPI dirawat manual di packages/api/src/openapi.ts (bukan di-generate dari oRPC).

Panduan

Di halaman ini