sveltekit-saas
sveltekit-saas copied to clipboard
SvelteKit SaaS Demo
Code examples from the video course Build a SaaS with SvelteKit
Features
- Authentication with Auth.js
- Database with Prisma
- Plans & pricing page
- Payments with Stripe Checkout
- Syncing subscription status via webhooks
Setup
Start by copying the example .env:
cp .env.example .env
Then customize the .env file. You'll need to provide values for:
DATABASE_URL: The url of your database.AUTH_SECRET: The secret Auth.js uses. Can be generated usingopenssl rand -base64 32GITHUB_ID: The id of your GitHub OAuth client.GITHUB_SECRET: The secret of your GitHub OAuth client.SECRET_STRIPE_KEY: Your Stripe API secret key.STRIPE_WEBHOOK_SECRET: Your Stripe secret for webhooks.
Install the dependencies:
pnpm install
Create the database:
pnpm prisma db push
Install the Stripe CLI
To tunnel Stripe webhooks in development mode, install Stripe's CLI.
Follow instructions here:
https://stripe.com/cli
Development mode
First, run the dev server
pnpm dev
Then, tell Stripe to tunnel webhooks to the local dev server:
stripe listen --forward-to localhost:5173/integrations/stripe
Seed data
You can adjust the seed data in prisma/seed.js to use price ids from your Stripe account.
To load seed data, run:
prisma db seed
Video course
For more info, here's the full video: https://joshuanussbaum.podia.com/build-a-saas-with-sveltekit
License
MIT