Note: This documentation uses Next.js App Router. If you're still on Pages Router, see the migration guide.
Basic SaaS Setup
Create a simple SaaS with authentication and payments using the Quick Start Stack.
Steps in the UI
- Select "Supabase + Stripe SaaS" from Quick Start Stacks
- Configure your project name: "my-saas-app"
- Set up Supabase environment variables in the auth-supabase modal
- Configure Stripe keys in the stripe-core configuration
- Click "Create" to generate your project
Modules included: auth-supabase, stripe-core, stripe-subscriptions, db-sqlite
Routes générées
/pricing
- Page de tarification avec plans Stripe/billing
- Gestion des factures et abonnements/auth/login
- Page de connexion/auth/signup
- Page d'inscription/api/auth/[...nextauth]/route.ts
- API NextAuth.js/api/stripe/webhook/route.ts
- Webhook Stripe/api/stripe/create-checkout-session/route.ts
- Création de session de paiement/api/stripe/create-portal-session/route.ts
- Portail client Stripe/dashboard
- Tableau de bord utilisateur/api/user/subscription/route.ts
- API de gestion des abonnements
.env minimal
# Database
DATABASE_URL="file:./dev.db"
# NextAuth
NEXTAUTH_SECRET="your-secret-key-here"
NEXTAUTH_URL="http://localhost:3000"
# Supabase (si utilisé)
NEXT_PUBLIC_SUPABASE_URL="https://your-project.supabase.co"
NEXT_PUBLIC_SUPABASE_ANON_KEY="your-anon-key"
SUPABASE_SERVICE_ROLE_KEY="your-service-role-key"
# Stripe
STRIPE_SECRET_KEY="sk_test_..."
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="pk_test_..."
STRIPE_WEBHOOK_SECRET="whsec_..."
Smoke test
curl -I http://localhost:3000
Expected: HTTP/1.1 200 OK
curl -I http://localhost:3000/api/auth/signin
Expected: HTTP/1.1 200 OK
curl -I http://localhost:3000/pricing
Expected: HTTP/1.1 200 OK
curl -X GET "https://api.stripe.com/v1/products" \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/x-www-form-urlencoded"
Expected: HTTP/1.1 200 OK avec liste des produits
Actions déclenchées
Emails de bienvenue
Quand : Après inscription d'un nouvel utilisateur
Voir le résultat :
- •Console de développement (mode développement)
- •Dashboard Resend/Postmark (mode production)
- •Email de test dans `/api/email/preview` (si activé)
Webhooks Stripe
Quand : Événements de paiement (paiement réussi, échec, etc.)
Voir le résultat :
- •Logs dans la console de développement
- •Dashboard Stripe > Webhooks > Logs
- •Base de données locale (SQLite)
Need help?
If you need assistance with this example or have questions about boiler.plate modules, check out our documentation.