Note: This documentation uses Next.js App Router. If you're still on Pages Router, see the migration guide.
🚀 Supabase + Stripe SaaS Quickstart
Build a complete SaaS application with authentication, database, and payments in under 10 minutes using boiler.plate's pre-configured Supabase + Stripe stack.
What you'll build: A SaaS app with user authentication, subscription management, and Stripe payments - ready for production deployment.
Prerequisites
- Supabase account (free tier works)
- Stripe account (test mode)
- Node.js 18+ and pnpm installed
- Git for version control
Step 1: Select the Preset
Navigate to boiler.plate and select the "Supabase + Stripe SaaS" preset from the Quick Start Stacks section.
Screenshot: Preset selection UI
📸 Screenshot
Coming soon...
Step 2: Configure Project Details
Enter your project name, description, and target directory. The UI will automatically select the required modules.
Screenshot: Project configuration
📸 Screenshot
Coming soon...
Step 3: Set Up Supabase Environment
The auth-supabase configuration modal will open. You'll need to provide your Supabase project credentials.
Screenshot: Supabase configuration modal
📸 Screenshot
Coming soon...
Step 4: Configure Stripe Settings
Configure your Stripe test keys and webhook settings in the stripe-core configuration modal.
Screenshot: Stripe configuration modal
📸 Screenshot
Coming soon...
Step 5: Generate Your Project
Click "Create" to generate your complete SaaS boilerplate. The UI will show you exactly what files will be created.
Screenshot: Project generation preview
📸 Screenshot
Coming soon...
Step 6: Set Up Environment Variables
Copy the generated .env.example and fill in your actual credentials:
# SUPABASE NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE=your_supabase_service_role_key # STRIPE (test mode) STRIPE_SECRET_KEY=sk_test_your_stripe_secret_key STRIPE_WEBHOOK_SECRET=whsec_your_webhook_secret NEXT_PUBLIC_APP_URL=http://localhost:3000 PRICE_LIFETIME=price_your_lifetime_price_id PRICE_SUB_MONTH=price_your_monthly_subscription_price_id # REDIS (if entitlements module) REDIS_URL=redis://localhost:6379
Step 7: Install Dependencies & Start Development
Navigate to your project directory and install dependencies:
cd your-project-name pnpm install pnpm dev
Step 8: Test Your Application
Verify that your application is running correctly:
# Test the pricing page curl -I http://localhost:3000/pricing # Should return: HTTP/1.1 200 OK
Screenshot: Local development server running
📸 Screenshot
Coming soon...
Step 9: Test Stripe Integration
Test the complete payment flow using Stripe test cards:
- Visit
http://localhost:3000/pricing
- Click "Subscribe" on any plan
- Use test card:
4242 4242 4242 4242
- Complete the checkout flow
- Test the billing portal at
http://localhost:3000/billing
Step 10: Deploy to Vercel
Deploy your application to Vercel with proper environment variables:
- Push your code to GitHub
- Connect your repository to Vercel
- Add all environment variables in Vercel dashboard
- Update
NEXT_PUBLIC_APP_URL
to your production domain - Configure Stripe webhook endpoint for production
Screenshot: Vercel deployment
📸 Screenshot
Coming soon...
Verification Checklist
✅ Local Development
- ☐
pnpm dev
starts without errors - ☐
/pricing
page loads correctly - ☐ User registration works
- ☐ Stripe checkout flow completes
- ☐ Billing portal accessible
✅ Production Deployment
- ☐ Vercel deployment successful
- ☐ Environment variables configured
- ☐ Stripe webhook endpoint updated
- ☐ SSL certificate active
- ☐ Payment flow works in production
Next Steps
Now that your basic SaaS is running, explore these modules to add more features:
- Auth Module - Customize authentication flows
- Stripe Modules - Add more payment features
- Analytics Module - Track user behavior
- Emails Module - Send transactional emails
💡 Pro Tips
- • Use Stripe test mode for development, switch to live mode for production
- • Set up proper webhook endpoints in Stripe dashboard
- • Configure Supabase Row Level Security (RLS) for data protection
- • Add monitoring and error tracking for production apps