app.sertifikasitrainer.com). Dev lokal memakai stack yang sama; DB bisa Postgres lokal atau Neon.
Diagram stack
Per lapisan
Monorepo (apps/)
Entry API production:
apps/api/src/worker.ts (Workers)Entry API lokal:
apps/api/src/server.ts (Bun + PM2 legacy)
Keamanan (ringkas)
- CSRF —
hono/csrfuntuk origin frontend yang diizinkan - Rate limit — register, generate, payment endpoints
- Mux — playback policy
signed+ JWT per lesson - Course access — enrollment
paidsebelum detail kursus / token video - Secrets —
.envshared → Wranglersecret bulk