Tedivms Flask
Theme by
Tedivm |Updated:
4 Feb 2023
|229 Stars
Flask starter app with celery, bootstrap, and docker environment
Categories
Overview:
The Flask Starter App is a code base that provides a starting point for developing Flask applications. It is designed to allow developers to quickly start working on their specific features and easily deploy the project into production. The code base includes a number of pre-configured extensions and libraries, as well as unique features specifically built for this package. It is also fully dockerized, providing a docker-compose test environment and the ability to easily create images for production deployment.
Features:
- Complete docker environment: The code base comes with a fully configured Docker environment, making it easy to set up and run the application in a consistent and isolated environment.
- Full user management system: The code base includes a comprehensive user management system, allowing developers to easily handle user registration, authentication, and authorization.
- API system with API tokens and route decorators: The code base provides an API system that supports API tokens for authentication and route decorators for authorization. This allows developers to easily secure their API endpoints.
- Well organized directories with lots of comments: The code base follows a well-organized directory structure and includes extensive comments, making it easy for developers to navigate and understand the code.
- Test framework and database migration framework: The code base includes a test framework (py.test and tox) for writing and running tests, as well as a database migration framework (Alembic with Flask-Migrate) for managing database schema changes.
- Configured Extensions and Libraries: The code base integrates various Flask extensions and libraries, including Beaker for caching and session management, Celery for running asynchronous tasks, Flask-Login for user login and signout, Flask-SQLAlchemy for database modeling and access, Flask-User for user management and authorization, and Flask-WTF for form creation and validation.
- Database or LDAP Authentication: The code base supports both database backed users and LDAP authentication. Developers have the flexibility to choose the authentication method that suits their requirements.
- API Authentication and Authorization: The code base allows for the generation of API keys and supports API authentication and authorization using role-based access control.
- Versatile Configuration System: The code base offers a versatile configuration system that allows for configuration through files, AWS Secrets Manager, and environmental variables. This provides flexibility in managing settings and securely storing sensitive information.
- Makefile for common tasks: The code base includes a Makefile with a variety of options to make common tasks easier to accomplish, streamlining the development process.
- Celery-based asynchronous task management system: The code base provides a Celery-based system for managing long-running asynchronous tasks. Tasks can be triggered through the web interface and executed on worker nodes, allowing for efficient handling of complex and time-consuming operations.
Installation:
To install the Flask Starter App, follow these steps:
- Clone the repository:
git clone [repository URL]
- Change into the project directory:
- Install the required dependencies:
pip install -r requirements.txt
Configure the app settings:
Edit the config.py
file to specify the desired configuration settings for your application.
Start the application:
- Access the application:
Open a web browser and visit
http://localhost:5000
to access the Flask Starter App.
Summary:
The Flask Starter App is a code base that provides a solid foundation for developing Flask applications. It offers a range of pre-configured features and libraries, making it easy for developers to start working on their specific features and quickly deploy the project into production. The code base includes a complete docker environment, a full user management system, an API system with authentication and authorization, a versatile configuration system, and more. With its well-organized structure and extensive comments, the Flask Starter App simplifies the development process and empowers developers to build robust Flask applications.