Overview
Project Enferno is a collection of modern libraries and tools built on top of the Flask framework, designed to help users quickly create websites and web-based applications with speed and efficiency. The framework comes with pre-configured user accounts, authentication, and a management dashboard, and integrates seamlessly with Vue 3 and Vuetify 3 for visually appealing user interfaces. The recent update introduces OpenAI integration to further enhance the development process by allowing the generation of Flask Views, Templates, and Models using natural language.
Features
- Flask-based Framework: Utilizes Flask framework with built-in tools and best practices.
- User Registration and Management: Includes features for user registration, login, and role management.
- Redis Integration: Supports Redis integration for caching and handling in-memory operations.
- Command Line Scripting: Allows for easy command line scripting with Click.
- Relational Databases: Supports relational databases using SQLAlchemy.
- Background Task Management: Provides background task management with Celery.
- Email Sending: Enables easy email sending with Flask Mail.
- Frontend Frameworks: Utilizes Vue 3 and Vuetify 3 for creating beautiful user interfaces.
- Internationalization Support: Offers support for multi-language apps with Flask-Babel.
Installation
- Prerequisites: Ensure you have Python, Redis, and Nginx installed (required for production deployment).
- Quickstart:
- Modify the settings.py file to tailor it to your requirements.
- Replace “redis” and “postgres” with “localhost” in the connection strings for local installation.
- Duplicate or rename the file (.env-sample) to (.env) and adjust the settings.
- Run the following command to establish database tables, set up the initial admin user and role:
flask setup
- To run Celery, use the command:
celery -A enfenro.tasks worker
- Using Docker:
- Adjust Docker settings in docker-compose.yml and Dockerfile/.env files.
- Run the following command:
Summary
Project Enferno is a powerful framework based on Flask that offers a range of features for rapid web development. From user management to background task handling, Enferno provides a comprehensive solution for building web applications efficiently. With its integration with Vue 3, Vuetify 3, and the recent addition of OpenAI, Enferno caters to developers looking to streamline their development process and create visually appealing applications. The easy installation process and support for various essential tools make Enferno a promising choice for web developers seeking a robust framework.