GitHub Repository
Minimal Next.js + Supabase + Dodo Payments subscription boilerplate
Live Demo
डिप्लॉय किए गए demo को एक्सप्लोर करें
अवलोकन
Next.js 15, React 19, Supabase, Drizzle ORM और Dodo Payments का उपयोग करने वाला production-ready subscription boilerplate। इसमें Google OAuth, subscription checkout, webhook handling, database schema और एक basic dashboard शामिल है।यदि आपको किसी मौजूदा app के लिए केवल route handlers चाहिए, तो dedicated adaptors देखें: Next.js Adaptor और Express Adaptor।
आवश्यकताएँ
- Node.js 18+ (या Bun 1.0+)
- Supabase project (URL, Anon key, Service role key, Database URL)
- Dodo Payments account (API key, Webhook secret)
- Google Cloud OAuth client (Client ID और Secret)
Quickstart
1
Clone and install
2
Create Supabase project
Supabase project बनाएँ और इन्हें कॉपी करें:
- NEXT_PUBLIC_SUPABASE_URL
- NEXT_PUBLIC_SUPABASE_ANON_KEY
- SUPABASE_SERVICE_ROLE_KEY
- DATABASE_URL (Connection string)
3
Configure Google OAuth
Google Cloud में redirect URI को
https://[your-project-ref].supabase.co/auth/v1/callback पर सेट करें, फिर अपने Client ID और Secret का उपयोग करके Supabase Auth में Google provider सक्षम करें।4
Configure Dodo Payments
Dodo dashboard से API key और Webhook secret जनरेट करें। विकास के दौरान environment को
test_mode पर सेट करें।5
Create .env.local
6
Provision database schema
बनाई गई tables:
users, subscriptions, payments।7
Deploy webhook function
cURL
8
Add webhook in Dodo Payments
Endpoint URL को सेट करें:Payment और subscription events चुनें।
9
Create products and features
Dodo dashboard में → Products → Create Product पर जाएँ। वैकल्पिक रूप से metadata जोड़ें:Pricing UI इस
features array को पढ़ता है और इसे dynamically render करता है।10
Run the dev server
इसमें क्या शामिल है
- Supabase के माध्यम से Authentication (Google OAuth configured)
- Dodo Payments के माध्यम से Subscription checkout
- Webhooks के लिए Supabase Edge Function (
dodo-webhook) - Drizzle ORM schema और migrations
- Invoices, subscription status और plan features वाला dashboard
मुख्य files और paths
- Edge Function
- Next.js routes
- Database (Drizzle)
Environment variables
Supabase
Supabase
Dodo Payments
Dodo Payments
Google OAuth
Google OAuth
Verification और troubleshooting
Webhook signature invalid (401)
Webhook signature invalid (401)
- सुनिश्चित करें कि
DODO_WEBHOOK_SECRETका मान Dodo dashboard के मान से मेल खाता है - पुष्टि करें कि आपने नवीनतम
dodo-webhookfunction deploy किया है - अपने function में header name सही है या नहीं, जाँचें (Dodo-Signature)
Database push fails
Database push fails
DATABASE_URLsyntax और Supabase network egress जाँचें- पहले push से पहले project creation के बाद लगभग 2–3 मिनट प्रतीक्षा करें
OAuth redirect mismatch
OAuth redirect mismatch
- Redirect URI
https://[ref].supabase.co/auth/v1/callbackहोना चाहिए - Google Cloud और Supabase Auth provider में भी यही सुनिश्चित करें
अब आपके पास Supabase और Dodo Payments से scaffold किया गया एक working subscription SaaS है।
Original repository और detailed steps: dodo-supabase-subscription-starter.