/open-saas

A free, open-source SaaS app starter 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 or Replicate (coming soon πŸ‘€)
  • πŸ“¦ AWS S3 - for file uploads
  • πŸ“§ SendGrid, MailGun, or SMTP - for email sending
  • πŸ’… TailwindCSS - for styling
  • πŸ§‘β€πŸ’Ό TailAdmin - admin dashboard & components for TailwindCSS
  • πŸ§ͺ Playwright - end-to-end tests with Playwright

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 providers like Railway and Netlify.

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

Getting Started

Simple Instructions

First, to install the latest version of Wasp on macOS, Linux, or Windows with WSL, run the following command:

curl -sSL https://get.wasp-lang.dev/installer.sh | sh

Then, create a new SaaS app with the following command:

wasp new -t saas

This will clone a clean copy of the Open SaaS template into a new directory, and you can start building your SaaS app right away!

Detailed Instructions

For everything you need to know about getting started and using this template, check out the Open SaaS Docs.

We've documented everything in great detail, including installation instructions, pulling updates to the template, guides for integrating services, SEO, deployment, and more. πŸš€

Changes & Contributions

Template Versioning

Whenever a user starts a new Open SaaS project with wasp new -t saas, Wasp looks for a specific tag on the repo, and pulls the project at the commit associated with that tag. In the case of Open SaaS, the tag is wasp-v{{version}}-template, where {{version}} is the current version of Wasp, e.g. wasp-v0.13-template.

For simplicity, we automatically re-apply the tag to the most recent commit on the main branch via the .github/workflows/retag-commit.yml workflow. This way, users always get the latest version of the template when they start a new project via wasp new -t saas.d

Contributing

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!

As there are a few things to know and consider when contributing, please make sure to read the CONTRIBUTING.md in this Repo.

Getting Help & Providing Feedback

There are two ways to get help or provide feedback (and we try to always respond quickly!):

  1. Open an issue
  2. Wasp Discord -- please direct questions to the #πŸ™‹questions forum channel