Flask Stripe MySQL Bootstrapped screenshot

Flask Stripe MySQL Bootstrapped

Author Avatar Theme by Casper hansen
Updated: 5 Oct 2022
148 Stars

Flask template with microservices architecture. Fully integrated with Stripe

Categories

Overview

The Flask Stripe MySQL Bootstrapped template is a scalable and deployable web application that offers signup, login, and a demo of Stripe integration. It utilizes several technologies and features such as Python, Flask, MySQL Database, Bootstrapped theme Creative and SB Admin 2, and Docker for microservices. The template includes user sign up and login functionality, three pricing tiers, secure app protection against various attacks, trial period feature, and user notifications. However, there are some pending features, such as a feedback button and email validation, as well as future work to enhance scalability, decouple services, and scale databases.

Features

  • Python & Flask & MySQL Database: The template is built using Python and Flask framework, with MySQL database integration.
  • Stripe Subscriptions: Provides support for creating, canceling, reactivating, and updating subscriptions using the Stripe payment gateway.
  • Bootstrapped theme Creative and SB Admin 2: The template utilizes the visually appealing and user-friendly Bootstrapped theme for its interface design.
  • Docker: The template is fully split into microservices and can be run using Docker Compose. It can be easily translated to Kubernetes for a scalable deployment.
  • User sign up and login: Users can sign up and log in to access the application’s features. Integration with Facebook and Google is in progress.
  • 3 Pricing Tiers: Includes three pricing tiers (Starter, Growth, Scale) to offer different subscription options to users.
  • Base templates: Provides pre-designed templates for Index, Dashboard, and Pages to facilitate development.
  • Secure app: Implements protection against various security threats including XSS, X-XSS, CSRF, and clickjacking (iframe) attacks.
  • Trial Period: Offers a trial period feature for users, with a default duration of 24 hours.
  • Notifications: Users receive notifications for upselling, credit card expiration, and other relevant information.

Installation

To run the application, follow these steps after the installation process:

  1. Make sure the database is running.
  2. Navigate to the ~/app folder in the terminal.
  3. Run docker-compose build for initial setup or after making changes.
  4. Run docker-compose up to run all the services.
  5. Configure the ~/app/setup_app/config.py file as needed, adding necessary credentials for different modes (development, production, staging).

Summary

The Flask Stripe MySQL Bootstrapped template is a scalable web application that offers signup, login, and a Stripe integration demo. It utilizes Flask, Python, and MySQL for the backend, along with a Bootstrapped theme for an attractive frontend design. The template includes essential features such as user authentication, subscription management, secure app protection, and notifications. However, some features such as a feedback button and email validation are still pending. Additionally, future work includes scaling the frontend, scaling the databases by separating them into separate databases, and reducing coupling between services to enhance scalability and maintainability. Overall, the template provides a solid foundation for building a web application with payment integration and scalability in mind.