Next.jsReactAdmin dashboardSaaSStarter

SaaSLaunchpad — Next.js Admin dashboard Template

By Excelorithm

SaaSLaunchpad is a Next.js-based SaaS starter template that integrates Stripe payments, NextAuth social login, RBAC permissions, user dashboards, a blog system, and push notifications, using PostgreSQL + Drizzle and shadcn/ui.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-02View source

What stands out

A quick read of the recorded project description.

01

Integrated Stripe Checkout pricing page and customer portal, supporting subscription management

02

Social login based on NextAuth.js, with Owner/Member role RBAC

03

User and team management dashboard, supporting CRUD operations and activity logs

04

Built-in blog system with categories, tags, TipTap rich text editor, comment moderation, media management, and search

05

Send email templates via Nodemailer, push notifications via Firebase and OneSignal

06

Uses PostgreSQL + Drizzle ORM and shadcn/ui components

Template Details

SaaSLaunchpad is a Next.js SaaS starter template maintained by Excelorithm, extended from the Next.js SaaS Starter. It provides a marketing landing page, Stripe Checkout pricing page, user and team management dashboard, Owner/Member role RBAC, Stripe customer portal, NextAuth social login, middleware route protection and schema validation, user activity logs, Nodemailer email templates, and Firebase and OneSignal push notifications. The template also includes a complete blog system with categories, tags, articles, a TipTap rich text editor, comment moderation, media management, and search. The tech stack is Next.js, PostgreSQL, Drizzle ORM, Stripe, shadcn/ui, NextAuth.js, Nodemailer, Firebase, OneSignal, and TipTap.

Before use, you need to configure numerous environment variables yourself, including database, Stripe, NextAuth, Google OAuth, email server, Firebase, and OneSignal. Local development requires running pnpm app:setup, database migrations and seed scripts, and forwarding webhooks via Stripe CLI. When deploying to Vercel, you need to fill in production environment variables in the project settings and create a production webhook in the Stripe dashboard.

The code is MIT licensed and can be used, modified, commercialized, and distributed for free, but you must retain the copyright and license notice. External services such as Firebase mentioned in the README need to be configured by yourself, and you should verify quotas and charges; third-party assets such as demo images, fonts, and icons need to be checked against their respective licenses. The template is provided as-is, without warranty.

Next.jsAdmin panelSaaSBoilerplate

Is it right for your project?

Use Cases

  • Quickly build a SaaS product prototype with subscription payments and user dashboards
  • Backend systems requiring social login, role permissions, and team management
  • Add content blog, comments, and push notification modules to a SaaS product
  • Deploy a Next.js full-stack application on Vercel and connect Stripe production webhooks

Suitable For

  • Full-stack developers familiar with Next.js and PostgreSQL
  • SaaS projects requiring Stripe subscriptions and RBAC permissions
  • Teams wanting to build upon MIT-licensed code for secondary development
  • Developers who can configure external services such as Firebase, OneSignal, email, and OAuth themselves

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    After cloning the repository, run pnpm install and configure environment variables via pnpm app:setup

  2. 2

    Run pnpm db:migrate and pnpm db:seed to complete database migration and initial data

  3. 3

    Run pnpm push:setup to configure Firebase push notifications

  4. 4

    For local development, use pnpm dev and forward webhooks to /api/stripe/webhook via Stripe CLI

  5. 5

    When deploying to Vercel, fill in production environment variables in the project settings and create a production webhook in the Stripe dashboard

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not imply that external services or third-party assets are free.

Must comply with when using

  • You are allowed to use, modify, commercialize, and distribute the code of this version for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as-is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • The README only promotes excelorithm.com as an optional paid customization/hosted development service, not a prerequisite for using the template; free use, modification, and distribution are unaffected.
  • Push notification functionality depends on external services such as Firebase and OneSignal; you need to register accounts, obtain API keys, and configure environment variables yourself, which may incur third-party service fees.
  • Stripe payment and subscription functionality requires you to register a Stripe account, configure keys and webhooks yourself; it is an external service dependency and may incur transaction fees.
  • Social login requires you to apply for third-party credentials such as Google OAuth and configure environment variables yourself; it is an external account dependency.
  • Email sending functionality requires you to provide an SMTP email server account and credentials yourself; it is an external service dependency.
  • The README mentions Firebase integration; before enabling related dynamic features, you need to configure it yourself and verify Firebase quotas and charges.
  • Demo images, fonts, icons, and other third-party assets need to be checked against their respective licenses; they cannot be judged solely by the code's MIT license.
  • External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

If you need managed software development services or help customizing this starter for your own SaaS, visit [excelorithm.com](https://excelorithm.com).

Original README

Setup Firebase Push Notifications

Original README

To handle Stripe webhooks locally, use the Stripe CLI:

Original README

Social authentication using **NextAuth.js**

Original README

Email templates using **Nodemailer**

Original README
https://github.com/Excelorithm/SaaSLaunchpad/blob/main/LICENSEhttps://github.com/Excelorithm/SaaSLaunchpad/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 92 / 100
Technologies
Next.js · React
Website type
Admin dashboard · SaaS · Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-03-09
Screenshot last checked
2026-10-02

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 15f5d6d96cfe51e3337f711076832d02149e915b76f8c762d0939b3faa9533e8

2026-10-02T16:44:49.631Z

Source file / repository
![SaaSLaunchpad – Next.js SaaS Starter](./SaaSLaunchpad.png)

# SaaSLaunchpad Next.js SaaS Starter

Welcome to the SaasLaunchpad! This project is designed to help you quickly build a SaaS application using **Next.js**. It includes features such as authentication, Stripe payment integration, and a user dashboard.

**Note:** This is an expanded version of the **[Next.js SaaS Starter](https://github.com/nextjs/saas-starter)**, offering a richer feature set beyond the original template.

**Live Demo: [https://saaslaunchpad.vercel.app/](https://saaslaunchpad.vercel.app/)**

## Key Features

- 🏠 Animated marketing landing page (`/`)
- 💳 Pricing page (`/pricing`) integrated with Stripe Checkout
- 🛠️ User and team management dashboard with CRUD operations
- 🔒 Role-based access control (RBAC) with Owner and Member roles
- 💼 Stripe Customer Portal for subscription management
- 🔑 Social authentication using **NextAuth.js**
- 🛡️ Middleware for route protection and schema validation
- 📊 User activity logging
- ✉️ Email templates using **Nodemailer**
- 🔔 Push notifications via **Firebase** and **OneSignal**
- 📝 Full-featured blog system with categories, tags, and posts (`/blog`)
- 🖊️ Rich text editor with **TipTap** for blog content creation
- 💬 Comments system with moderation capabilities
- 🖼️ Media management for blog images
- 🔍 Blog search functionality
- 🏷️ Content organization with categories and tags

## Technology Stack

- **Framework**: [Next.js](https://nextjs.org/)
- **Database**: [PostgreSQL](https://www.postgresql.org/)
- **ORM**: [Drizzle](https://orm.drizzle.team/)
- **Payments**: [Stripe](https://stripe.com/)
- **UI Components**: [shadcn/ui](https://ui.shadcn.com/)
- **Authentication**: [NextAuth.js](https://next-auth.js.org/)
- **Email Service**: [Nodemailer](https://nodemailer.com/)
- **Push Notifications**: [Firebase](https://firebase.google.com/), [OneSignal](https://onesignal.com/)
- **Rich Text Editor**: [TipTap](https://tiptap.dev/)

## Getting Started

Clone the repository and install dependencies:

```bash
git clone https://github.com/Excelorithm/SaaSLaunchpad
cd SaaSLaunchpad
pnpm install
```

## Local Development

Set up your environment variables by running the setup script:

```bash
pnpm app:setup
```

Run database migrations and seed the database with initial data:

```bash
pnpm db:migrate
pnpm db:seed
```

Setup Firebase Push Notifications

```bash
pnpm push:setup
```

Start the development server:

```bash
pnpm dev
```

Visit [http://localhost:3000](http://localhost:3000) to view the application.

To handle Stripe webhooks locally, use the Stripe CLI:

```bash
stripe listen --forward-to localhost:3000/api/stripe/webhook
```

## Testing Stripe Payments

Use the following test card details for Stripe payments:

- Card Number: `4242 4242 4242 4242`
- Expiration Date: Any future date
- CVC: Any 3-digit number

## Deployment

### Setting Up Production Stripe Webhook

1. Create a new webhook in the Stripe Dashboard for your production environment.
2. Set the endpoint URL to your production API route (e.g., `https://yourdomain.com/api/stripe/webhook`).
3. Select the events you want to listen for (e.g., `checkout.session.completed`, `customer.subscription.updated`).

### Deploying to Vercel

1. Push your code to a GitHub repository.
2. Connect your repository to [Vercel](https://vercel.com/) and deploy it.
3. Follow the Vercel deployment steps to set up your project.

### Configuring Environment Variables

In your Vercel project settings, add the necessary environment variables for production:

1. `APP_NAME`: Your app name.
2. `APP_LOGO`: Your app logo.
3. `BASE_URL`: Your production domain.
4. `POSTGRES_URL`: Your production database URL.
5. `STRIPE_SECRET_KEY`: Your Stripe secret key for production.
6. `STRIPE_WEBHOOK_SECRET`: The webhook secret from your production Stripe webhook.
7. `NEXTAUTH_URL`: Same as "BASE_URL".
8. `NEXTAUTH_SECRET`: A random string for authentication. Generate one using `openssl rand -base64 32`.
9. `NEXT_PUBLIC_LOGIN_URL`: Login page URL, typically "BASE_URL/auth/signin".
10. `GOOGLE_CLIENT_ID`: Client ID for Google OAuth.
11. `GOOGLE_CLIENT_SECRET`: Client secret for Google OAuth.
12. `EMAIL_SERVER_USER`: Username for your email server.
13. `EMAIL_SERVER_PASSWORD`: Password for your email server.
14. `EMAIL_SERVER_HOST`: Host address for your email server.
15. `EMAIL_SERVER_PORT`: Port number for your email server.
16. `EMAIL_FROM`: The email address that your app will use to send emails.
17. `NEXT_PUBLIC_PUSH_NOTIFICATIONS_CHANNEL`: Channel name for push notifications.
18. `NEXT_PUBLIC_FIREBASE_API_KEY`: Firebase API key.
19. `NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN`: Firebase Auth domain.
20. `NEXT_PUBLIC_FIREBASE_PROJECT_ID`: Firebase project ID.
21. `NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET`: Firebase storage bucket.
22. `NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID`: Firebase messaging sender ID.
23. `NEXT_PUBLIC_FIREBASE_APP_ID`: Firebase app ID.
24. `NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID`: Firebase measurement ID.
25. `NEXT_PUBLIC_FIREBASE_VAPID`: Firebase VAPID key for push notifications.
26. `FIREBASE_ADMIN_PROJECT_ID`: Firebase Admin project ID.
27. `FIREBASE_ADMIN_PRIVATE_KEY`: Firebase Admin private key.
28. `FIREBASE_ADMIN_CLIENT_EMAIL`: Firebase Admin client email.
29. `NEXT_PUBLIC_ONESIGNAL_APP_ID`: OneSignal app ID for push notifications.
30. `ONESIGNAL_REST_API_KEY`: OneSignal REST API key for server-side push notifications.

## Managed software development services

If you need managed software development services or help customizing this starter for your own SaaS, visit [excelorithm.com](https://excelorithm.com).
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.