Overview
SupaNuxt SaaS is a powerful and feature-rich solution for building SaaS applications. It combines various technologies and services to provide user management, schema and database management, config management, state management, multi-modal state management, multi-user accounts, plans and pricing, and Stripe payment integration.
Features
- User Management: Social sign-on with various providers, email/password sign-on, password recovery, user roles and permissions, capturing user email on initial login, and flexible plan control.
- Schema and DB Management: Prisma-based schema management, integration with Supabase for database management, and a seed script for setting up plan and Stripe product information.
- Config Management and Env Integration: Configuration for Stripe keys, environment keys for Supabase and Stripe, and config switches for free trial.
- Multi-Modal State Management: Support for single-page application (SPA) type pages and server-side rendered (SSR) type pages, with a flow from PostgreSQL (Supabase) to Prisma to a service layer for business logic to TRPC to Pinia to UI.
- Multi-User Accounts (Teams): Allows users to upgrade their individual accounts to multi-user accounts (Teams), switch between Teams, and view/edit data from the selected Team. All features, billing, and limits are controlled at the Team level.
- Plans and Pricing: Management of multiple plans with specific feature flags and plan limits, copying plan features to accounts upon successful subscription, loose coupling between plan and account features, and a pricing page that reacts appropriately to users’ account and current plan status.
- Stripe (Payments) Integration: Seamless integration with Stripe for handling payments, including webhook integration.
Installation
To install SupaNuxt SaaS theme, follow these steps:
- Clone the repository:
git clone <repo_url>
- Install the required dependencies:
cd supanuxt-saas
npm install
- Configure the environment variables:
- Copy the
.env.example
file and rename it to.env
. - Update the values in the
.env
file with your own Stripe and Supabase keys.
- Start the development server:
npm run dev
- Open the application in your browser:
http://localhost:3000
Summary
SupaNuxt SaaS is a comprehensive theme for building SaaS applications. It provides a wide range of features, including user management, schema and database management, config management, multi-modal state management, multi-user accounts, plans and pricing, and Stripe payment integration. With its powerful and flexible architecture, SupaNuxt SaaS offers developers a solid foundation to quickly build and deploy their SaaS products.