Langsung ke konten utama

Prinsip dasar

Kamu tidak harus menyalakan semua layanan. KilatKoding mendukung setup bertahap. Kalau satu fitur belum siap, kamu bisa mematikannya lewat toggle env.

Kombinasi layanan yang umum

Target produkLayanan minimumLayanan yang bisa ditambahkan belakanganCatatan
Waitlist atau pre-launch MVPSupabaseResendCocok kalau kamu baru ingin mengumpulkan lead dan validasi demand
SaaS berlanggananSupabase + Midtrans atau DokuResend, AI providerJalur paling natural untuk KilatKoding
SaaS dengan fitur AISupabase + OpenAI atau AnthropicMidtrans atau Doku, ResendPayment provider dibutuhkan kalau AI akan dimonetisasi lewat plan
Portal member atau clientSupabaseResend, payment providerBilling bisa ditunda kalau akses produk belum dijual publik

1. Supabase

Supabase adalah fondasi utama untuk auth dan database. Kalau kamu ingin memakai login, dashboard, billing, admin, waitlist, avatar, atau audit log, mulai dari sini.

Langkah setup

  1. Buat project Supabase baru.
  2. Ambil NEXT_PUBLIC_SUPABASE_URL dan NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY dari Project Settings > API.
  3. Ambil SUPABASE_SERVICE_ROLE_KEY untuk kebutuhan server-only seperti webhook, admin reporting, avatar signed URL, persistent rate limit, dan audit log.
  4. Jalankan migrasi database:
npx supabase db push
  1. Tambahkan redirect URL berikut di Authentication > URL Configuration:
http://localhost:3000/auth/confirm
http://localhost:3000/auth/update-password
Untuk production, ganti domain lokal dengan domain live kamu.

Kalau kamu ingin Google OAuth

  1. Aktifkan provider Google di dashboard Supabase.
  2. Masukkan Google Client ID dan Secret.
  3. Tambahkan callback URL dari Supabase ke pengaturan OAuth app kamu di Google Cloud.

2. Resend

Gunakan Resend jika kamu ingin mengirim email dari form kontak atau email transaksional.

Yang perlu diisi

  • RESEND_API_KEY
  • EMAIL_FROM
  • CONTACT_EMAIL jika email penerima form kontak berbeda dari EMAIL_FROM

Yang sudah disiapkan di repo

  • template emails/welcome.tsx
  • template emails/invoice.tsx
  • helper lib/email.ts
  • route POST /api/contact

3. Midtrans

Gunakan Midtrans jika kamu ingin checkout lewat Snap.

Yang perlu diisi

  • PAYMENT_PROVIDER=midtrans
  • MIDTRANS_SERVER_KEY
  • NEXT_PUBLIC_MIDTRANS_CLIENT_KEY

Langkah setup

  1. Ambil sandbox key untuk development.
  2. Ambil production key untuk environment live.
  3. Daftarkan webhook:
https://domain-kamu.com/api/webhooks/midtrans
  1. Pastikan return URL user mengarah ke halaman order kamu. KilatKoding memakai /order/[id] dan punya fallback di /payment/callback.

4. Doku

Gunakan Doku jika kamu ingin checkout lewat JOKUL.

Yang perlu diisi

  • PAYMENT_PROVIDER=doku
  • DOKU_CLIENT_ID
  • DOKU_SECRET_KEY

Langkah setup

  1. Ambil sandbox credential untuk development.
  2. Ambil production credential untuk live.
  3. Daftarkan webhook:
https://domain-kamu.com/api/webhooks/doku

Midtrans vs Doku

ProviderBentuk checkout di repo saat iniEnv utamaBiasanya cocok kalau
MidtransSnap token untuk flow checkout MidtransMIDTRANS_SERVER_KEY, NEXT_PUBLIC_MIDTRANS_CLIENT_KEYKamu ingin memakai flow Snap yang umum dipakai produk digital di Indonesia
DokuCheckout URL JOKUL yang diarahkan dari serverDOKU_CLIENT_ID, DOKU_SECRET_KEYKamu ingin flow checkout berbasis redirect yang tetap terverifikasi lewat webhook

5. AI provider

AI bersifat opsional. Kalau kamu tidak butuh AI, set NEXT_PUBLIC_ENABLE_AI=false.

Pilihan provider

  • AI_DEFAULT_PROVIDER=openai dengan OPENAI_API_KEY
  • AI_DEFAULT_PROVIDER=anthropic dengan ANTHROPIC_API_KEY
Per kode saat ini, pemetaan model default adalah:
  • OpenAI: gpt-4o
  • Anthropic: claude-sonnet-4-20250514
Snapshot ini berasal dari kode repo per 19 Maret 2026.

Fitur mana yang bergantung pada layanan mana

FiturLayanan minimum
Login, signup, dashboardSupabase public env
Billing actionsSupabase public env + service role
Payments end-to-endSupabase public env + service role + Midtrans atau Doku
Contact formResend
WaitlistSupabase public env
Admin dashboardSupabase public env + service role
AI routesSupabase public env + OpenAI atau Anthropic

Urutan integrasi yang direkomendasikan

  1. Supabase
  2. Resend
  3. Midtrans atau Doku
  4. AI provider
Kalau kamu ingin launch cepat, aktifkan dulu Supabase dan satu payment provider. Resend dan AI bisa ditambahkan sesudah alur utama berjalan.