πŸ“„ Our documentation is currently a work in progress. We’re adding more content soon β€” in the meantime, you can reach us at yourepicsaas@gmail.com.

logo png

YourEpicSaaS

Getting Started

Development Guide

Simple guide to deploy your app on Vercel, Supabase and Paddle payments

Prerequisites

  • GitHub repository ready
  • Production Supabase project
  • Vercel account
  • Paddle account (for payments)

1. Deploy on Vercel

Connect Your Repo

  1. Go to vercel.com β†’ New Project
  2. Import your GitHub repository
  3. Click Deploy

Add Environment Variables

In your Vercel project β†’ Settings β†’ Environment Variables, add:

# App
APP_URL=https://your-app.vercel.app

# Supabase
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_KEY=your-service-key

# Resend (for invite members)
RESEND_API_KEY=your-resend-api-key

# JWT (for invitation access tokens)
JWT_SECRET_KEY=your-random-jwt-secret

# Paddle
NEXT_PUBLIC_PADDLE_ENV=production or sandbox
NEXT_PUBLIC_PADDLE_CLIENT_TOKEN=your-paddle-client-token
PADDLE_API_KEY=your-paddle-api-key
PADDLE_NOTIFICATION_WEBHOOK_SECRET=your-webhook-secret

2. Setup Paddle

Get Paddle Keys

  1. Go to Paddle Dashboard
  2. Developer Tools β†’ Authentication
  3. Copy:
    • Vendor ID
    • API Key
    • Generate Webhook Secret

Configure Webhooks

  1. In Paddle Dashboard β†’ Developer Tools β†’ Notifications
  2. Add new destination URL: https://your-app.vercel.app/api/paddle/webhook
  3. Select events:
    • subscription.created
    • subscription.updated
    • customer.created
    • customer.updated

3. Update Supabase Settings

Auth Configuration

  1. Go to your Supabase project β†’ Authentication β†’ URL Configuration
  2. Set Site URL: https://your-app.vercel.app
  3. Add Redirect URLs:
    https://your-app.vercel.app/api/auth/callback
    https://your-app.vercel.app/api/auth/confirm

Copy Email Templates

Copy templates from /supabase/templates/ to Authentication β†’ Emails β†’ Templates in your Supabase dashboard.


4. GitHub Actions

Your repository already has a workflow for database deployments. Add these secrets in GitHub β†’ Settings β†’ Secrets:

Database Deployment Secrets

SUPABASE_ACCESS_TOKEN=your-supabase-access-token
SUPABASE_DB_HOST=transaction-pooler-url

Your workflow (.github/workflows/supabase.yml) will:

  • Deploy database migrations on every push to main

Seed Production Database

After GitHub Actions runs successfully, you need to create initial data:

  1. Go to SQL Editor in your production Supabase dashboard
  2. Copy content from /supabase/seed.sql in your local project
  3. Run the SQL in production
  4. Check that the permissions table has data

5. Custom Domain (Optional)

  1. In Vercel project β†’ Settings β†’ Domains
  2. Add your domain: yourdomain.com
  3. Update DNS with your provider:
  4. Update Supabase Site URL to your custom domain

Test Everything

  1. Visit your app - Sign up/login works
  2. Test payments - Create a subscription
  3. Check webhooks - Paddle events received
  4. Email auth - Confirmation emails sent

That's it! πŸŽ‰

Your app is live on Vercel with Paddle payments integrated.