
FlexaFlow is a modern, enterprise-grade Content Management System built with Python Flask, designed for performance, security, and extensibility.
- Lightning Fast: Built for performance with optimized database queries
- 2FA Security: Two-factor authentication, CSRF protection, and more
- Mobile-First: Responsive design that works on all devices
- Theme System: Easy-to-customize theming with Jinja2 templates
- Custom Architecture: Extensible system for custom functionality
- Analytics: Built-in support for Google Analytics and custom tracking
-
Pages & Posts
- Create and manage static pages and dynamic blog posts
- Draft system with preview functionality
-
Rich Content Editor
- TinyMCE integration with custom plugins
- Easy image uploads
- Table management
- Embedded media support
- Advanced Media Library
- Image optimization
- Automatic thumbnail generation
- Two-Factor Authentication (2FA) ..Google Authenticator supports
- Multiple authenticator app support
- QR code / manual key entry
- Time based authentication
- Python 3.7 or higher
- pip package manager
- Virtual environment (recommended)
- SQLite, MySQL, or PostgreSQL
-
Clone the Repository
git clone https://github.com/flexaflow/flexaflow-flask.git cd flexaflow-flask
-
Set Up Virtual Environment
python -m venv venv source venv/bin/activate # On Windows: venv\\Scripts\\activate
-
Install Dependencies
pip install -r requirements.txt
-
Environment Configuration Create a .env file:
FLASK_ENV=development SECRET_KEY=your_secure_secret_key DATABASE_URL=sqlite:///cms.db UPLOAD_FOLDER=uploads MAX_CONTENT_LENGTH=16777216
-
Initialize and Run
python app.py
Visit http://localhost:5000/setup to complete installation.
Support for multiple databases:
# SQLite (Default)
DATABASE_URL=sqlite:///cms.db
# MySQL
DATABASE_URL=mysql://user:password@localhost/dbname
# PostgreSQL
DATABASE_URL=postgresql://user:password@localhost/dbname
FlexaFlow uses a powerful theming system:
├── functions
│ └── custom-function.py
└── templates
├── 404.html
├── category.html
├── main
│ ├── contact-form.html
│ ├── footer.html
│ ├── header.html
│ └── master.html
├── post.html
├── search.html
├── single-page.html
└── tag.html
Distributed under the MIT License. See LICENSE
for more information.
FlexaFlow CMS can be deployed on various hosting platforms. Here are our recommended options:
PythonAnywhere ⭐ Best Overall
- Perfect for beginners and professionals
- Offers MySQL database included in plans
- Easy Flask deployment with web-based console
- Free tier available for testing
- Automatic SSL certificates
- Setup: Upload your code via web interface, configure WSGI file
- Great for modern deployments
- Free tier with automatic SSL
- Git-based deployments
- Built-in PostgreSQL database options
- Easy environment variable management
- Setup: Connect your GitHub repo and deploy automatically
- Enterprise-grade platform
- Extensive add-on marketplace
- Git-based deployment workflow
- PostgreSQL support via Heroku Postgres
- Setup: Use Procfile and requirements.txt for deployment
- Mashiur Rahman - Creator and lead developer of FlexaFlow CMS
- Flask - The lightweight WSGI web application framework
- SQLAlchemy - The Python SQL toolkit and ORM
- TinyMCE - The powerful rich text editor
- Bootstrap - The responsive front-end framework