/quokka

Flask powered CMS on top of mongoengine/MongoDB (WIP)

Primary LanguageJavaScriptOtherNOASSERTION

Flattr Gittip Travis CI Coverage Status Twitter Gitter chat

Quokka project

Flask and MongoDB powered CMS

(alpha version, work in progress)

quokka cms

Quokka is a flexible content management platform powered by Python, Flask and MongoDB.

Quick start

You need a MongoDB instance running locally or remotely to connect. Quokka runs on Python 2.7

  1. Get Quokka
$ git clone https://github.com/pythonhub/quokka
$ cd quokka
$ pip install -r requirements.txt
  1. Define your MongoDB settings
$ $EDITOR quokka/local_settings.py
===============quokka/quokka/local_settings.py===============
MONGODB_SETTINGS = {'DB': 'your_mongo_db'}
DEBUG = True
=============================================================
  1. Populate with sample data (optional)
$ python manage.py populate 
  1. Create a superuser
$ python manage.py createsuperuser
you@email.com
P4$$W0Rd
  1. Run
$ python manage.py runserver
  1. Access on http://localhost:5000
  2. Admin on http://localhost:5000/admin

or by making your server reachable on other networks

$ python manage.py run0
  1. Access on http://0.0.0.0:8000
  2. Admin on http://0.0.0.0:8000/admin

Docs on Wiki

Hosting

You can host a Quokka website in any VPS or cloud which supports Python and Flask + MongoDB access, a good option is to host the database in MongoLab if your hosting server does not provide Mongo.

  • PythonAnywhere can run Quokka with Mongo hosted at MongoLab
  • DigitalOcean is a good option for a VPS
  • Jelastic Cloud has the easiest Quokka deployment - http://docs.jelastic.com/ru/quokka-cms

Is it any good?

Yes!

python   flask   mongo   pythonhub

FAQ

Why another CMS?

There is a large number of great CMS's in Python ecosystem (Plone, Opps, Mezannine, DjangoCMS etc), each one has its own patterns for extension development and theme management. A CMS can take a its role as "Product" or as "Platform" and for Quokka the idea is to play in both scenarios, The CMS should be easy to deploy, extensions and themes should be "drop-in", it should be easy to develop extensions and also it should use a "schema-free" database. Until Quokka there was no CMS filling all these needs.

Why Flask?

Because Flask is Pythonic! In my research + experience it is the best framework to develop applications which rely on "pluggable features" thanks to its Blueprints and Extension patterns, also Flask plays well with any DB/ORM of choice. (see next question)

Why MongoDB?

Because database scheme migrations are no-happy for CMS and a Quokka CMS must be always happy to work with, so no-schema-migrations is needed with MongoDB! and Mongo is the easiest, flexible and most suitable NoSQL for CMS, also there is excellent extensions for Flask (MongoEngine and Flask-Admin) which supports MongoDB!

Why the project is named "Quokka?"

Because it is the happiest animal in the world!

20 FACTS ABOUT QUOKKAS

    1. Happiest animal in the world because they are known for how much they smile.
    1. They are marsupials
    1. They live on rottnest island named after quokkas because a Dutch guy thought they were large rats. Rottnest means "rats nest"
    1. They can climb trees
    1. Herbivores-they eat leaves,stems,grass,etc;
    1. They are nocturnal
    1. They can live for long periods of time, living off of the fat stored in their tails lol
    1. Females usually give birth once a year
    1. Quokkas are old enough to have babies at 1.5 years old!!
    1. Live 5-10 years
    1. Declining population—logging, pollution, killed by foxes,pet dogs, pet cats, humans,etc;😭😭
    1. They live in tall grass near water
    1. Btw if you meet a quokka don't feed it anything due to declining population because it could affect them
    1. Quokkas highest speed is 20mph
    1. They don't chew food.they just swallow it
    1. Closely related to the Rock Wallaby (in the picture^^^)
    1. Scientific name is Setonix Brachyurus
    1. Joey stays with mom for 35 weeks
    1. Quokkas recycle a small amount of their bodies waste products
    1. They create their own trails and paths to get food and runaway from predators.

License

This project is licensed under the MIT license, see LICENSE for more details.