A comprehensive Flask boilerplate to build SaaS applications that includes Stripe billing, emails, login, and OAuth.
Ignite is a scaffold for starting new Flask applications. It takes care of the boilerplate code (like User Registration, OAuth, Teams, and Billing), allowing you to focus on building your application. Ignite is built upon best practices for modern Flask applications.
Usage of Python 3 is required. It can be installed from Python.org.
Github Actions is configured to run tests and produce code coverage metrics.
To run tests locally, use the following command:
pytest
To configure OAuth login and Stripe billing in development, you will need to set some environment variables. See .env.local.sample
for an example.
You may also want to change some of the constants in appname.constants
.
Ignite is not tied to a specific platform for deployment, but it works well on Heroku and Dokku with minimal configuration.
It is also designed to work well on other cloud providers such as AWS, Google Cloud, and DigitalOcean.
Documentation is currently provided for installations on Dokku.
To install the Stripe CLI and configure your app to use Stripe webhooks locally, follow these steps:
stripe login
.stripe listen --forward-to localhost:5000/webhooks/stripe
.STRIPE_WEBHOOK_SECRET=whsec_...
).s
.Ignite is a scaffold for starting new Flask applications, providing boilerplate code for User Authentication, OAuth Login, Teams/Groups, User Export & Deletion Request, API, Stripe Product Checkout, Heroku/Docker Deployment, Send Emails, Admin Dashboard, File Uploads, Basic Test Suite, VS Code Debugger & Editor, and SaaS Recurring Billing. It supports Python 3 and has been tested on multiple operating systems. Ignite can be deployed on various cloud platforms and comes with documentation for Dokku installations. It also offers additional commercial features and video content as part of the Fullstack Flask course.