Back to MD Exchange
    Project Blueprintssaasnextjsstripeauthboilerplatestartup

    Full-Stack SaaS Boilerplate

    Complete project blueprint for launching a SaaS product with Next.js 15, Stripe billing, Auth.js, PostgreSQL, and Tailwind. Production-ready from day one.

    K
    keygroup|March 25, 2026
    0 downloads0 stars

    Uploaded markdown content, not a verification of tool compatibility or results. Review the raw text, commands, and permissions before using it. Stars require an account.


    name: saas-boilerplate
    description: Production-ready SaaS starter with billing and auth


    Full-Stack SaaS Boilerplate

    Launch your SaaS in days, not months.

    Tech Stack

    | Layer | Technology |
    |-------|------------|
    | Framework | Next.js 15 App Router |
    | Auth | Auth.js (Google, GitHub, Email) |
    | Database | PostgreSQL + Prisma ORM |
    | Payments | Stripe (subscriptions + one-time) |
    | Styling | Tailwind CSS + shadcn/ui |
    | Email | Resend + React Email |
    | Deploy | Vercel / Docker |
    | Analytics | PostHog |

    Directory Structure

    app/
      (marketing)/      # Landing, pricing, blog
      (dashboard)/      # Protected app pages
      api/
        webhooks/stripe/ # Stripe webhook handler
        auth/            # Auth.js routes
    lib/
      stripe.ts          # Stripe helpers
      db.ts              # Prisma client
      email.ts           # Transactional emails
    prisma/
      schema.prisma      # User, Subscription, Invoice models
    

    Features Included

    • [x] Multi-tenant architecture
    • [x] Role-based access (owner, admin, member)
    • [x] Stripe checkout + customer portal
    • [x] Usage-based billing support
    • [x] Transactional emails (welcome, invoice, trial ending)
    • [x] Admin dashboard with metrics
    • [x] SEO-optimized marketing pages
    • [x] Dark/light mode
    • [x] Rate limiting + CSRF protection
    • [x] E2E tests with Playwright

    Quick Start

    npx create-next-app -e saas-boilerplate my-saas
    cp .env.example .env.local
    npx prisma db push
    npm run dev
    

    Pricing Page Config

    export const plans = [
      { name: "Free", price: 0, features: ["1 project", "100 API calls/day"] },
      { name: "Pro", price: 29, features: ["Unlimited projects", "10K API calls/day", "Priority support"] },
      { name: "Enterprise", price: 99, features: ["Everything in Pro", "SSO", "SLA", "Dedicated support"] },
    ];