Skip to content

ADR-003: Server Actions naar Hono API

Alle server-side logica wordt verplaatst naar een standalone Hono 4.7 API op Cloudflare Workers, bereikbaar op api.builtwithbeam.com.

Next.js server actions waren gekoppeld aan het dashboard. Met de migratie naar Vite SPA (ADR-002) is een aparte API nodig die door alle clients gedeeld kan worden: dashboard, publieke site, en toekomstige mobile app.

Hono (gekozen):

  • Native Cloudflare Workers support
  • TypeScript-first met typed middleware
  • Lichtgewicht (~14KB)
  • Zod validatie integratie
  • Middleware chaining (CORS, auth, rate limit, logging)

tRPC:

  • End-to-end type safety
  • Tight coupling met frontend — moeilijker voor meerdere clients
  • Geen REST endpoints voor externe integraties

Express/Fastify:

  • Niet compatible met Workers runtime (Node.js APIs)
  • 8 route modules: pages, patterns, media, team, domains, stock-photos, cache, health
  • Bearer token auth via Supabase getUser()
  • Typed client wrapper in dashboard (api-client.ts)
  • Rate limiting per user (100/min general, 20/min uploads)
  • Structured JSON logging met request IDs
  • Cron triggers voor domain polling en media cleanup