Alternatif Trello open-source, ringan, dirancang untuk pembuat dan indie hacker.
Fokus pada kesederhanaan, kecepatan, dan skalabilitas. Dibangun dengan stack modern: Tailwind CSS, shadcn/ui, Supabase, integrasi Stripe. Mendukung proyek tanpa batas, kolaborasi tim, mode gelap/terang, dan pengalaman pengguna yang mulus. Sangat cocok untuk pengembang solo dan tim kecil yang ingin kendali penuh tanpa kompleksitas yang tidak perlu.
🌟 Jika Anda merasa proyek ini bermanfaat, pertimbangkan untuk memberi bintang! Ini membantu orang lain menemukannya juga.
Panduan Deployment
Ikhtisar
Aplikasi ini sekarang menggunakan rute API Next.js lokal, bukan Supabase Edge Functions untuk integrasi Stripe. Ini membuat proses deployment lebih sederhana dan memungkinkan Anda menggunakan file .env standar untuk konfigurasi.Pengaturan Variabel Lingkungan
1. Buat file .env.local
Salin.env.example ke .env.local dan isi dengan nilai sebenarnya Anda:cp .env.example .env.local2. Variabel Lingkungan yang Dibutuhkan
#### Konfigurasi Supabase
NEXT_PUBLIC_SUPABASE_URL- URL proyek Supabase AndaNEXT_PUBLIC_SUPABASE_ANON_KEY- Kunci anonim Supabase AndaSUPABASE_SERVICE_ROLE_KEY- Kunci role layanan Supabase Anda (hanya sisi server)
STRIPE_SECRET_KEY- Kunci rahasia Stripe Anda (hanya sisi server)NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY- Kunci publishable Stripe AndaSTRIPE_WEBHOOK_SECRET- Rahasia webhook Stripe Anda
NEXT_PUBLIC_SITE_URL- URL situs Anda (untuk produksi)NEXTAUTH_URL- URL situs Anda (sama seperti di atas)NEXTAUTH_SECRET- Rahasia acak untuk NextAuth
Pengembangan Lokal
- Install dependensi:
npm install- Atur variabel lingkungan Anda di
.env.local - Jalankan server pengembangan:
npm run dev- Uji webhook Stripe secara lokal menggunakan Stripe CLI:
stripe listen --forward-to localhost:3000/api/stripe/webhookDeploy Produksi
Deploy Vercel
- Deploy ke Vercel:
npx vercel
- Variabel Lingkungan:
- Pengaturan Stripe Webhook:
- Arahkan webhook ke:
https://your-domain.vercel.app/api/stripe/webhook
Endpoint API
Aplikasi sekarang menggunakan route API lokal berikut:
POST /api/stripe/checkout- Membuat sesi checkout StripePOST /api/stripe/webhook- Menangani event webhook Stripe
Manfaat Route API Lokal
- Deploy Lebih Sederhana - Tidak perlu deploy edge function terpisah
- Variabel Lingkungan - Dukungan file .env standar
- Debugging Lebih Baik - Lebih mudah debug secara lokal
- Integrasi Framework - Integrasi lebih baik dengan Next.js
- Tidak Terkunci Vendor - Dapat dideploy ke platform mana pun yang mendukung Next.js
Pemecahan Masalah
- Masalah Webhook:
- Pastikan
STRIPE_WEBHOOK_SECRETsesuai dengan endpoint webhook Stripe Anda - Periksa log webhook di dashboard Stripe
- Pastikan URL webhook sudah benar
- Variabel Lingkungan:
- Pastikan semua variabel yang diperlukan sudah diatur
- Cek typo pada nama variabel
- Pastikan Supabase service role key memiliki izin yang benar
- Masalah CORS:
- Route API sudah menyertakan header CORS yang sesuai
- Pastikan domain Anda sudah di-whitelist jika diperlukan
Catatan Keamanan
- Jangan pernah mengekspos
STRIPE_SECRET_KEYatauSUPABASE_SERVICE_ROLE_KEYke client - Gunakan prefix
NEXT_PUBLIC_hanya untuk variabel sisi client - Rutin lakukan rotasi webhook secrets Anda
- Pantau pengiriman webhook di dashboard Stripe