Skip to content

Content Management System with python and flask.. Powerful and simple ..More testing required for production level

Notifications You must be signed in to change notification settings

flexaflow/flexaflow-flask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlexaFlow CMS

FlexaFlow CMS

License: MIT Python Flask SQLAlchemy Code style: black

FlexaFlow is a modern, enterprise-grade Content Management System built with Python Flask, designed for performance, security, and extensibility.

🌟 Highlights

  • ⚡️ Lightning Fast: Built for performance with optimized database queries
  • 🔒 Enterprise 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

✨ Features

📝 Content Management

  • 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

🖼️ Media Management

  • Advanced Media Library
    • Image optimization
    • Automatic thumbnail generation

🔐 Security Features

  • Two-Factor Authentication (2FA) ..Google Authenticator supports
    • Multiple authenticator app support
    • QR code / manual key entry
    • Time based authentication

🚀 Getting Started

Prerequisites

  • Python 3.7 or higher
  • pip package manager
  • Virtual environment (recommended)
  • SQLite, MySQL, or PostgreSQL

Quick Start

  1. Clone the Repository

    git clone https://github.com/flexaflow/flexaflow-flask.git
    cd flexaflow-flask
  2. Set Up Virtual Environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\\Scripts\\activate
  3. Install Dependencies

    pip install -r requirements.txt
  4. 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
  5. Initialize and Run

    python app.py

Visit http://localhost:5000/setup to complete installation.

📁 Project Structure

├── app.py
├── data_store.py
├── requirements.txt
├── static
│   ├── flexaflow.ico
│   └── flexaflow.png
├── templates
│   ├── add_page.html
│   ├── add_post.html
│   ├── admin.html
│   ├── edit_page.html
│   ├── edit_post.html
│   ├── login.html
│   ├── media-library.html
│   ├── menu-editor.html
│   ├── page.html
│   ├── post.html
│   ├── preview.html
│   ├── settings.html
│   ├── setup_2fa.html
│   ├── setup.html
│   └── tags_and_catagories.html
├── themes
│   └── default
│       ├── 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
├── uploads
│   └── thumbnails
└── utils
    └── theme_loader.py

🔧 Configuration

Database Setup

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

🎨 Theming

FlexaFlow uses a powerful theming system:

Current default theme structure

├── 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

📄 License

Distributed under the MIT License. See LICENSE for more information.

🌐 Hosting & Deployment

FlexaFlow CMS can be deployed on various hosting platforms. Here are our recommended options:

🏆 Recommended Hosting Platforms

PythonAnywhereBest 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

🙏 Acknowledgments

Lead Developer

Core Technologies

  • 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

About

Content Management System with python and flask.. Powerful and simple ..More testing required for production level

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published