5 Open source SaaS starters
May 3, 2021What’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
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
Build your own SaaS business with SaaS boilerplate. Productive stack: React, Material-UI, Next, MobX, WebSockets, Express, Node.js , Mongoose, MongoDB. Written with TypeScript
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
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
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
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 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 and JSON Schema.
- Many other 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
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