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.
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.
Flask is a lightweight and popular web framework for Python, known for its simplicity and flexibility. It is widely used to build web applications, providing a minimalistic approach to web development with features like routing, templates, and support for extensions.
Bootstrap is the most popular CSS Framework for developing responsive and mobile-first websites.
A dashboard style website template is a pre-designed layout that features a user interface resembling a control panel or dashboard. It typically includes charts, graphs, tables, and other data visualization tools that allow users to monitor and analyze data in real-time.
A template or theme refers to a pre-designed layout or structure that provides a basic framework for building a specific type of application or website. It typically includes good design, placeholder content and functional features, allowing developers to customize and fill in the details according to their specific needs.