Tedivms Flask

screenshot of Tedivms Flask
flask
bootstrap

Flask starter app with celery, bootstrap, and docker environment

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.
flask
Flask

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
Bootstrap

Bootstrap is the most popular CSS Framework for developing responsive and mobile-first websites.

template
Templates & Themes

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.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.