/open-saas

A free, open-source SaaS app template for React & Node.js with superpowers. Production-ready. Community-driven.

Primary LanguageTypeScriptMIT LicenseMIT

Welcome to your new SaaS App! 🎉

Open SaaS - Open-source & 100% free React & Node.js SaaS starter! | Product Hunt

open-saas-demo.mp4

You've decided to build a SaaS app with the Open SaaS template. Great choice!

This template is:

  1. fully open-source
  2. completely free to use and distribute
  3. comes with a ton of features out of the box!
  4. focused on free, open-source services, where possible

🧑‍💻 Check it out in action here: OpenSaaS.sh
📚 Check out the Docs here: Open SaaS Docs

What's inside?

The template itself is built on top of some very powerful tools and frameworks, including:

  • 🐝 Wasp - a full-stack React, NodeJS, Prisma framework with superpowers
  • 🚀 Astro - Astro's lightweight "Starlight" template for documentation and blog
  • 💸 Stripe - for products and payments
  • 📈 Plausible or Google Analytics
  • 🤖 OpenAI - OpenAI API integrated into the app
  • 📧 SendGrid, MailGun, or SMTP - for email sending
  • 💅 TailwindCSS - for styling
  • 🧑‍💼 TailAdmin - admin dashboard & components for TailwindCSS

Because we're using Wasp as the full-stack framework, we can leverage a lot of its features to build our SaaS in record time, including:

  • 🔐 Full-stack Authentication - Email verified + social Auth in a few lines of code.
  • End-to-end Type Safety - Type your backend functions and get inferred types on the front-end automatically, without the need to install or configure any third-party libraries. Oh, and type-safe Links, too!
  • 🤖 Jobs - Run cron jobs in the background or set up queues simply by defining a function in the config file.
  • 🚀 One-command Deploy - Easily deploy via the CLI to Fly.io, or to other provides like Railway and Netlify.

You also get access to Wasp's diverse, helpful community if you get stuck or need help.

Note that we've tried to get as many of the core features of a SaaS app into this template as possible, but there still might be some missing features or functionality.

We could always use some help tying up loose ends, so consider contributing!