Home

Awesome

Ignite

Ignite for Flask Flask PyTest CI

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.

Features

FeaturesStatusDetails
User AuthenticationUser Login, Registration, Forgot Password, Email Confirmation
OAuth LoginLogin or Register with Google, Twitter, Facebook, etc.
Teams/GroupsMulti user teams & groups (with Invite Emails)
User Export & Deletion RequestAllows users to export their data (for GDPR compliance)
APIAPI (with user tokens) users to access data
Stripe Product CheckoutOne time item purchases with credit cards and receipts (using Stripe)
Heroku/Docker DeploymentDeployment instructions for some platforms. Works on AWS & Google Cloud
Send EmailsSend email notifications from the application
Admin DashboardAdmin dashboard to edit data
File UploadsFile uploads to cloud storage providers
Basic Test SuiteStarting point for you to build out tests
VS Code Debugger & EditorConfigured to make you productive
Tested on Windows 10, OSX, and UbuntuUsing Python 3
SaaS Recurring Billing💲 (Requires purchasing a license to Ignite)Team Billing, Usage Based Billing or Unlimited Plans
Commercial Usage💲 (License Required)Commercial Usage requires a purchased license
Video Content💲Available as part of the Fullstack Flask course

How to Buy

StoreComes WithPrice
Fullstack Flask CourseThe Fullstack Flask Course & Book, hours of videos explaining how to build a SaaS in Flask, and a single license to Ignite ProOn Sale (for ~$199) at Newline »
Commercial LicenseA license for usage on a single site($199) »

Setup

Usage of Python 3 is required. It can be installed on Python.org

# Optional but recommended:
python3 -m venv env; source env/bin/activate

pip install -r requirements.txt
./manage.py server # or `FLASK_APP=manage FLASK_ENV=development flask run`

Development

# Development
# If using a virtual env: source env/bin/activate
./manage.py resetdb # to seed data
FLASK_APP=manage FLASK_ENV=development flask run

# Go to localhost:5000 in a browser and click on Login
# Login with the following credentials "user@example.com", "test

# Production documentation in the repository.

Testing

Github Actions is configured to run tests and produce code coverage metrics.

To run tests locally, try this command:

APPNAME_ENV=test ./manage.py test --coverage

Local Secrets

To configure OAuth login and Stripe billing in development, you will need to set some environment variables. See .env.local.sample for an example.

cp .env.local.sample .env.local
# Edit .env.local with your Stripe & Google test keys
source .env.local
flask run

You may also want to change some of the constants in appname.constants and the services/branding.py file to change the name of the application in the UI.

Deployment

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.

Stripe Webhooks Locally

Screenshots

ScreenshotName
Login / Signup / OAuth / Password Resetlogin
DashboardDashboard
Saas Subscription Billing + ConsoleBilling
TeamsTeam
GDPR/LegalGDPR
AdminAdmin
API TokensAPI
Delayed JobsJobs
EmailsEmails
File UploadsFiles
Stripe Customer Portal IntegrationStripe

License

This is a commercial product. You may purchase a license for commercial use at Ignite Website

Here's a summary:

| Features | Ignite | (License) Ignite Premium | | -------------------------------------------- | -------------- | ------------------------ | --- | | Cost | Free | $199 per site | | | Private Non Commercial Use | ✅ | ✅ | | Commercial Use | No | ✅ | | Ability to remove "Powered by Ignite" footer | No | ✅ | | Video Tutorials | No | ✅ | | Re-license | No | Contact us | | Support | No | No | | Warranty | Provided As-is | Provided As-is | | Refunds | N/A | 30 Day |

You can purchase a license at the Ignite Store or on Newline as part of the Fullstack Flask course

For more detailed license information see LICENSE.md

Credits

Design elements from tabler & Bootstrap 4.

Built off of Flask Foundation and the bootstrapy project

Extra Reading

Only building out an API using Flask?

Course: Fullstack Flask: Build a SaaS using Python and Flask

Best practices List: