A production-ready SaaS starter kit built with Next.js to help you launch your web application faster. It comes with pre-built authentication, billing, dashboards, and everything you need to start a modern SaaS product.
It also includes a FastAPI backend to securely execute your SaaS business logic and allow access to your product data only if the API key is valid.
You can replace the backend with whatever suit to you.
- 🔐 Authentication - Email/password, OAuth (Google, GitHub), magic links
- 💳 Billing & Subscriptions - Stripe integration with plans & invoices
- 🗄 Database & ORM - Pre-configured with Prisma (PostgreSQL)
- 📁 File Storage Management - Store and authenticated ressources access
- 👤 User Management - Accounts, profile pages, and roles
- 📊 Admin Dashboard - Monitor users, subscriptions, and analytics
- 📧 Email System - Transactional emails & notifications
- 🎨 UI Components - Pre-designed responsive components and pages
- 🚀 Deployment Ready - Optimized for Vercel or any Node.js host
- ⚙️ API Routes & Server Actions - Ready-to-use backend endpoints
- 🧱 Environment Config - .env template for easy setup
Make sure you have the following installed:
git clone https://github.com/KadenHD/nextjs-saas-template.git
cd nextjs-saas-templateCreate a Python virtual environment and install dependencies.
cd backend
python -m venv .venv
source .venv/bin/activate 2>/dev/null || source .venv/Scripts/activate
pip install -r requirements.txtInstall Node dependencies.
cd dashboard
npm installCreate your .env file from the example template.
cp .env.example .envCopy it to both services:
cp .env backend/.env
cp .env dashboard/.env.localStart required services using Docker.
docker compose up -dcd backend
source .venv/bin/activate 2>/dev/null || source .venv/Scripts/activate
make devThe API will be available on: http://localhost:5001
cd dashboard
npm run devThe Dashboard will be available on: http://localhost:5000
cd backend
source .venv/bin/activate 2>/dev/null || source .venv/Scripts/activate
make prodThe API will be available on: http://localhost:5001
cd dashboard
npm run build
npm run startThe Dashboard will be available on: http://localhost:5000
- Framework: Next.js and FastAPI
- Styling: Tailwind CSS / ShadCN UI (using Shadcnblocks & Radix UI)
- Database: Prisma + PostgreSQL (with adminer local-only supervision)
- File Storage: Openinary, a self-hostable alternative to Cloudinary
- Payments: Stripe
- Email: Nodemailer (with mailpit local-only server and supervision)
- Authentication: Better-Auth
Contributions are welcome! Feel free to submit issues or pull requests for improvements.