5 Open source SaaS starters
May 3, 2021
# What's that?
Starting a SaaS business is never easy - and has lots of repeatable parts such as: authentication, billing, user management, and more. I love to focus on what matters, which is the core algorithm/business value behind my SaaS.
***
## The List
***
### [SaaS Python base application with Flask, Vue, Bootstrap, Webpack](https://github.com/CaravelKit/saas-base)
## Features:
* User authentication
* Email authentication (with email confirmation)
* User registration, login, logout
* Simple user profile page
* Payment support
* Fully stripe integration (plans list is automatically generated from your Stripe account)
* User plans support
* Payments method support (only credit cards for now, by Stripe)
* Users can select a plan, change it, cancel, pause, resume
* User can see all the history of payment-related actions
***
[SaaS Boilerplate - Node.js](https://github.com/async-labs/saas)
Build your own SaaS business with SaaS boilerplate. Productive stack: React, Material-UI, Next, MobX, WebSockets, Express, Node.js , Mongoose, MongoDB. Written with TypeScript
![SaaS](https://user-images.githubusercontent.com/26158226/61417514-2891dd00-a8ac-11e9-97d4-53944fe8f897.png)
## Features
* Server-side rendering for fast initial load and SEO.
* User authentication with Google, cookie, and session.
* Production-ready Express server with compression, parser, and helmet.
* Transactional emails (AWS SES): welcome, team invitation, and payment.
* Adding email addresses to newsletter lists (Mailchimp): new users, paying users.
* File upload, load, and deletion (AWS S3) with pre-signed request for: Posts, Team Profile, and User Profile.
* Team creation, Team Member invitation, and settings for Team and User.
### Opinionated architecture:
* keeping babel and webpack configurations under the hood,
* striving to minimize number of configurations,
* withAuth HOC to pass user prop and control user access to pages,
* withLayout HOC for shared layout and to pass additional data to pages,
withStore HOC, developer-friendly state management with MobX,
* server-side rendering with Material-UI,
* model-specific components in addition to common components.
* Universally-available environmental variables at runtime.
* Server-side environmental variables managed with dotenv.
* Browser-side environmental variables managed with Next.js and webpack's process.env substitution (see ./app/.env.blueprint).
* Custom logger (configure what not to print in production).
* Useful components for any web app: ActiveLink, AutoComplete, Confirm, Notifier, MenuWithLinks, and more.
* Analytics with Google Analytics.
### Docker CE Integration:
* spawn MongoDB database for development.
* stage service stack with lean container images.
### Production-ready, scalable architecture:
* app - user-facing web app with Next/Express server, responsible for rendering pages (either client-side or server-side). app sends requests via API methods and fetch to api server's Express routes.
* api - server-only web app with Express server, responsible for processing requests for internal and external APIs.
we prepared both apps for easy deployment to now by Zeit.
* Subscriptions with Stripe:
* subscribe/unsubscribe Team to plan,
* update card information,
* verified Stripe webhook for failed payment for subscription.
***
[Reeve - Web application scaffolding for production environments - Node.js](https://github.com/peterjoseph/Reeve)
![Reeve](https://camo.githubusercontent.com/c00d4ecc25c22f3baff93f6cc100e5988d259a00/68747470733a2f2f692e696d6775722e636f6d2f633663596d536c2e706e67)
## Features:
* Express Server
* React
* Redux
* Server Configuration & Environment Store
* Webpack
* Redis
* MySQL Server
* SASS
* Bootstrap
* i18n Translation File Support
* React-Tooltips
* Dropdown Alerts
* AVA Test System
* JS Validation
* Google Analytics
* Subdomains
* Session Storage
* React Router
* User Authentication
* Error Reporting
* JSON Web Tokens
* Polyfills & IE Support
* Email Sending
* Sentry error logging
* Papertrail logging
* API Rate Limiting
***
[DjaoDjin - Python,Django](https://github.com/djaodjin/djaoapp)
![DjaoDjin](https://djaodjin.com/static/img/og-image.png)
Accounts & billing workflows every SaaS needs
DjaoDjin builds the infrastructure, so you can focus on your product.
## Features
* Landing pages - Homepage, pricing
* Account profiles
* Billing - Stripe
* Dashboards
* Access control policies
* Registrations
* Authentication
* Checkout
* Vue.js Frontend
***
### Full Stack FastAPI and PostgreSQL - Base Project Generator
[https://github.com/tiangolo/full-stack-fastapi-postgresql](https://github.com/tiangolo/full-stack-fastapi-postgresql "https://github.com/tiangolo/full-stack-fastapi-postgresql")
![](https://github.com/tiangolo/full-stack-fastapi-postgresql/raw/master/img/docs.png)
## Features:
* Full **Docker** integration (Docker based).
* Docker Swarm Mode deployment.
* **Docker Compose** integration and optimization for local development.
* **Production ready** Python web server using Uvicorn and Gunicorn.
* Python [**FastAPI**](https://github.com/tiangolo/fastapi) backend:
* **Fast**: Very high performance, on par with **NodeJS** and **Go** (thanks to Starlette and Pydantic).
* **Intuitive**: Great editor support. Completion everywhere. Less time debugging.
* **Easy**: Designed to be easy to use and learn. Less time reading docs.
* **Short**: Minimize code duplication. Multiple features from each parameter declaration.
* **Robust**: Get production-ready code. With automatic interactive documentation.
* **Standards-based**: Based on (and fully compatible with) the open standards for APIs: [OpenAPI](https://github.com/OAI/OpenAPI-Specification) and [JSON Schema](http://json-schema.org/).
* [**Many other features**](https://fastapi.tiangolo.com/features/) including automatic validation, serialization, interactive documentation, authentication with OAuth2 JWT tokens, etc.
* **Secure password** hashing by default.
* **JWT token** authentication.
* **SQLAlchemy** models (independent of Flask extensions, so they can be used with Celery workers directly).
* Basic starting models for users (modify and remove as you need).
* **Alembic** migrations.
* **CORS** (Cross Origin Resource Sharing).
* **Celery** worker that can import and use models and code from the rest of the backend selectively.
* REST backend tests based on **Pytest**, integrated with Docker, so you can test the full API interaction, independent on the database. As it runs in Docker, it can build a new data store from scratch each time (so you can use ElasticSearch, MongoDB, CouchDB, or whatever you want, and just test that the API works).
* Easy Python integration with **Jupyter Kernels** for remote or in-Docker development with extensions like Atom Hydrogen or Visual Studio Code Jupyter.
* **Vue** frontend:
* Generated with Vue CLI.
* **JWT Authentication** handling.
* Login view.
* After login, main dashboard view.
* Main dashboard with user creation and edition.
* Self user edition.
* **Vuex**.
* **Vue-router**.
* **Vuetify** for beautiful material design components.
* **TypeScript**.
* Docker server based on **Nginx** (configured to play nicely with Vue-router).
* Docker multi-stage building, so you don't need to save or commit compiled code.
* Frontend tests ran at build time (can be disabled too).
* Made as modular as possible, so it works out of the box, but you can re-generate with Vue CLI or create it as you need, and re-use what you want.
* It's also easy to remove it if you have an API-only app, check the instructions in the generated `README.md`.
* **PGAdmin** for PostgreSQL database, you can modify it to use PHPMyAdmin and MySQL easily.
* **Flower** for Celery jobs monitoring.
* Load balancing between frontend and backend with **Traefik**, so you can have both under the same domain, separated by path, but served by different containers.
* Traefik integration, including Let's Encrypt **HTTPS** certificates automatic generation.
* GitLab **CI** (continuous integration), including frontend and backend testing.
### Dashboard
[https://github.com/userdashboard/dashboard](https://github.com/userdashboard/dashboard "https://github.com/userdashboard/dashboard")
Dashboard packages everything web apps need into reusable, modular software. It runs separately to your application so you have two web servers instead of one
## Features:
* single website or interface for your users
* Dashboard requires NodeJS
* Payment integration with Stripe
* User management
* Various hosting backends
* Localization