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 produk | Layanan minimum | Layanan yang bisa ditambahkan belakangan | Catatan |
|---|
| Waitlist atau pre-launch MVP | Supabase | Resend | Cocok kalau kamu baru ingin mengumpulkan lead dan validasi demand |
| SaaS berlangganan | Supabase + Midtrans atau Doku | Resend, AI provider | Jalur paling natural untuk KilatKoding |
| SaaS dengan fitur AI | Supabase + OpenAI atau Anthropic | Midtrans atau Doku, Resend | Payment provider dibutuhkan kalau AI akan dimonetisasi lewat plan |
| Portal member atau client | Supabase | Resend, payment provider | Billing 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
- Buat project Supabase baru.
- Ambil
NEXT_PUBLIC_SUPABASE_URL dan NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY dari Project Settings > API.
- Ambil
SUPABASE_SERVICE_ROLE_KEY untuk kebutuhan server-only seperti webhook, admin reporting, avatar signed URL, persistent rate limit, dan audit log.
- Jalankan migrasi database:
- 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
- Aktifkan provider Google di dashboard Supabase.
- Masukkan Google Client ID dan Secret.
- 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
- Ambil sandbox key untuk development.
- Ambil production key untuk environment live.
- Daftarkan webhook:
https://domain-kamu.com/api/webhooks/midtrans
- 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
- Ambil sandbox credential untuk development.
- Ambil production credential untuk live.
- Daftarkan webhook:
https://domain-kamu.com/api/webhooks/doku
Midtrans vs Doku
| Provider | Bentuk checkout di repo saat ini | Env utama | Biasanya cocok kalau |
|---|
| Midtrans | Snap token untuk flow checkout Midtrans | MIDTRANS_SERVER_KEY, NEXT_PUBLIC_MIDTRANS_CLIENT_KEY | Kamu ingin memakai flow Snap yang umum dipakai produk digital di Indonesia |
| Doku | Checkout URL JOKUL yang diarahkan dari server | DOKU_CLIENT_ID, DOKU_SECRET_KEY | Kamu 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
| Fitur | Layanan minimum |
|---|
| Login, signup, dashboard | Supabase public env |
| Billing actions | Supabase public env + service role |
| Payments end-to-end | Supabase public env + service role + Midtrans atau Doku |
| Contact form | Resend |
| Waitlist | Supabase public env |
| Admin dashboard | Supabase public env + service role |
| AI routes | Supabase public env + OpenAI atau Anthropic |
Urutan integrasi yang direkomendasikan
- Supabase
- Resend
- Midtrans atau Doku
- AI provider
Kalau kamu ingin launch cepat, aktifkan dulu Supabase dan satu payment provider. Resend dan AI bisa ditambahkan sesudah alur utama berjalan.