{"id":16996579,"url":"https://github.com/sumukh/ignite","last_synced_at":"2025-04-12T21:19:14.855Z","repository":{"id":39708228,"uuid":"77975642","full_name":"Sumukh/Ignite","owner":"Sumukh","description":"A comprehensive Flask boilerplate to build SaaS applications that includes Stripe billing, emails, login, and OAuth. ","archived":false,"fork":false,"pushed_at":"2024-12-02T10:01:44.000Z","size":8221,"stargazers_count":208,"open_issues_count":13,"forks_count":53,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-04T00:18:02.384Z","etag":null,"topics":["admin","boilerplate","boilerplate-template","bootstrap","flask","foundation","framework","login","python","python3","scaffolding","starter","stripe","template"],"latest_commit_sha":null,"homepage":"https://www.newline.co/fullstack-flask/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sumukh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":"https://gumroad.com/l/xFvLo"}},"created_at":"2017-01-04T03:08:36.000Z","updated_at":"2025-03-26T05:20:36.000Z","dependencies_parsed_at":"2024-06-09T08:46:50.101Z","dependency_job_id":"949397f2-4411-4f36-859a-e553f516fca7","html_url":"https://github.com/Sumukh/Ignite","commit_stats":{"total_commits":405,"total_committers":7,"mean_commits":"57.857142857142854","dds":0.6765432098765432,"last_synced_commit":"426618cdffa9578a20d32482db406ed5be6def22"},"previous_names":[],"tags_count":2,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sumukh%2FIgnite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sumukh%2FIgnite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sumukh%2FIgnite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sumukh%2FIgnite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sumukh","download_url":"https://codeload.github.com/Sumukh/Ignite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631917,"owners_count":21136589,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin","boilerplate","boilerplate-template","bootstrap","flask","foundation","framework","login","python","python3","scaffolding","starter","stripe","template"],"created_at":"2024-10-14T03:52:27.470Z","updated_at":"2025-04-12T21:19:14.826Z","avatar_url":"https://github.com/Sumukh.png","language":"HTML","readme":"[![Ignite](https://user-images.githubusercontent.com/882381/45938197-49cfb880-bf7c-11e8-91ea-94fffd9d054a.png)](https://github.com/sumukh/ignite)\n\n# Ignite for Flask [![Flask PyTest CI](https://github.com/Sumukh/Ignite/actions/workflows/flask-pytest.yml/badge.svg)](https://github.com/Sumukh/Ignite/actions/workflows/flask-pytest.yml)\n\nIgnite 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.\n\n## Features\n\n| Features                              | Status                                       | Details                                                                                    |\n| ------------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------ |\n| User Authentication                   | ✅                                           | User Login, Registration, Forgot Password, Email Confirmation                              |\n| OAuth Login                           | ✅                                           | Login or Register with Google, Twitter, Facebook, etc.                                     |\n| Teams/Groups                          | ✅                                           | Multi user teams \u0026 groups (with Invite Emails)                                             |\n| User Export \u0026 Deletion Request        | ✅                                           | Allows users to export their data (for GDPR compliance)                                    |\n| API                                   | ✅                                           | API (with user tokens) users to access data                                                |\n| Stripe Product Checkout               | ✅                                           | One time item purchases with credit cards and receipts (using Stripe)                      |\n| Heroku/Docker Deployment              | ✅                                           | Deployment instructions for some platforms. Works on AWS \u0026 Google Cloud                    |\n| Send Emails                           | ✅                                           | Send email notifications from the application                                              |\n| Admin Dashboard                       | ✅                                           | Admin dashboard to edit data                                                               |\n| File Uploads                          | ✅                                           | File uploads to cloud storage providers                                                    |\n| Basic Test Suite                      | ✅                                           | Starting point for you to build out tests                                                  |\n| VS Code Debugger \u0026 Editor             | ✅                                           | Configured to make you productive                                                          |\n| Tested on Windows 10, OSX, and Ubuntu | ✅                                           | Using Python 3                                                                             |\n| SaaS Recurring Billing                | 💲 (Requires purchasing a license to Ignite) | Team Billing, Usage Based Billing or Unlimited Plans                                       |\n| Commercial Usage                      | 💲 (License Required)                        | Commercial Usage requires a purchased license                                              |\n| Video Content                         | 💲                                           | Available as part of [the Fullstack Flask course](https://www.newline.co/fullstack-flask/) |\n\n## How to Buy\n\n| Store                  | Comes With                                                                                                                     | Price                                                                       |\n| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- |\n| Fullstack Flask Course | The Fullstack Flask Course \u0026 Book, hours of videos explaining how to build a SaaS in Flask, and a single license to Ignite Pro | [On Sale (for ~$199) at Newline »](https://www.newline.co/fullstack-flask/) |\n| Commercial License     | A license for usage on a single site                                                                                           | [($199) »](https://gumroad.com/l/xFvLo)                                     |\n\n## Setup\n\nUsage of Python 3 is required. It can be installed [on Python.org](https://www.python.org/downloads/)\n\n```\n# Optional but recommended:\npython3 -m venv env; source env/bin/activate\n\npip install -r requirements.txt\n./manage.py server # or `FLASK_APP=manage FLASK_ENV=development flask run`\n```\n\n## Development\n\n```\n# Development\n# If using a virtual env: source env/bin/activate\n./manage.py resetdb # to seed data\nFLASK_APP=manage FLASK_ENV=development flask run\n\n# Go to localhost:5000 in a browser and click on Login\n# Login with the following credentials \"user@example.com\", \"test\n\n# Production documentation in the repository.\n```\n\n## Testing\n\nGithub Actions is configured to run tests and produce code coverage metrics.\n\nTo run tests locally, try this command:\n\n```\nAPPNAME_ENV=test ./manage.py test --coverage\n```\n\n### Local Secrets\n\nTo configure OAuth login and Stripe billing in development, you will need to set some environment variables. See `.env.local.sample` for an example.\n\n```bash\ncp .env.local.sample .env.local\n# Edit .env.local with your Stripe \u0026 Google test keys\nsource .env.local\nflask run\n```\n\nYou 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.\n\n## Deployment\n\nIgnite is not tied to a specific platform for deployment, but it works well on [Heroku](http://heroku.com) and [Dokku](http://dokku.viewdocs.io/dokku/) with minimal configuration.\n\nIt is also designed to work well on other cloud providers such as AWS, Google Cloud, and DigitalOcean.\n\nDocumentation is currently provided for installations on Dokku.\n\n## Stripe Webhooks Locally\n\n- Install the [Stripe CLI](https://stripe.com/docs/stripe-cli)\n- Login to the Stripe CLI (`stripe login`)\n- Run `stripe listen --forward-to localhost:5000/webhooks/stripe`\n- Use the webhook secret and configure your app to use it (`export STRIPE_WEBHOOK_SECRET=whsec_...`)\n- To replay an event in a seperate console: `stripe events resend evt_XYZ`\n\n## Screenshots\n\n| Screenshot                              | Name                                                    |\n| --------------------------------------- | ------------------------------------------------------- |\n| Login / Signup / OAuth / Password Reset | ![login](documentation/screenshots/login.png)           |\n| Dashboard                               | ![Dashboard](documentation/screenshots/dashboard.png)   |\n| Saas Subscription Billing + Console     | ![Billing](documentation/screenshots/billing.png)       |\n| Teams                                   | ![Team](documentation/screenshots/team.png)             |\n| GDPR/Legal                              | ![GDPR](documentation/screenshots/gdpr.png)             |\n| Admin                                   | ![Admin](documentation/screenshots/admin.png)           |\n| API Tokens                              | ![API](documentation/screenshots/api.png)               |\n| Delayed Jobs                            | ![Jobs](documentation/screenshots/jobs.png)             |\n| Emails                                  | ![Emails](documentation/screenshots/email.png)          |\n| File Uploads                            | ![Files](documentation/screenshots/file-uploads.png)    |\n| Stripe Customer Portal Integration      | ![Stripe](documentation/screenshots/stripe-console.png) |\n\n## License\n\nThis is a commercial product. You may purchase a license for commercial use at [Ignite Website](https://ignite.sumukh.me)\n\nHere's a summary:\n\n| Features                                     | Ignite         | (License) Ignite Premium |\n| -------------------------------------------- | -------------- | ------------------------ | --- |\n| Cost                                         | Free           | $199 per site            |     |\n| Private Non Commercial Use                   | ✅             | ✅                       |\n| Commercial Use                               | No             | ✅                       |\n| Ability to remove \"Powered by Ignite\" footer | No             | ✅                       |\n| Video Tutorials                              | No             | ✅                       |\n| Re-license                                   | No             | Contact us               |\n| Support                                      | No             | No                       |\n| Warranty                                     | Provided As-is | Provided As-is           |\n| Refunds                                      | N/A            | 30 Day                   |\n\nYou can purchase a license at the [Ignite Store](https://gumroad.com/l/xFvLo) or on [Newline as part of the Fullstack Flask course](https://www.newline.co/fullstack-flask/)\n\nFor more detailed license information see LICENSE.md\n\n## Credits\n\nDesign elements from [tabler](https://github.com/tabler/tabler) \u0026 Bootstrap 4.\n\nBuilt off of [Flask Foundation](https://jackstouffer.github.io/Flask-Foundation/) and the [bootstrapy project](https://github.com/kirang89/bootstrapy)\n\n### Extra Reading\n\nOnly building out an API using Flask?\n\n- Use [create-flask-api](https://github.com/Sumukh/create-flask-api)\n\n**Course: [Fullstack Flask: Build a SaaS using Python and Flask](https://www.newline.co/fullstack-flask/)**\n\nBest practices List:\n\n- [Larger Applications With Flask](http://flask.pocoo.org/docs/patterns/packages/).\n- [Creating Websites With Flask](http://maximebf.com/blog/2012/10/building-websites-in-python-with-flask/)\n- [Getting Bigger With Flask](http://maximebf.com/blog/2012/11/getting-bigger-with-flask/)\n- [Miguel Grinberg's Blog](https://blog.miguelgrinberg.com/category/Python)\n","funding_links":["https://gumroad.com/l/xFvLo"],"categories":["Categories"],"sub_categories":["Python"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsumukh%2Fignite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsumukh%2Fignite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsumukh%2Fignite/lists"}