Quokka is a flexible content management platform powered by Python, Flask and MongoDB.
You need a MongoDB instance running locally or remotely to connect. Quokka runs on Python 2.7
- Get Quokka
$ git clone https://github.com/quokkaproject/quokka
$ cd quokka
$ pip install -r requirements.txt
- Define your MongoDB settings
$ $EDITOR quokka/local_settings.py
===============quokka/quokka/local_settings.py===============
MONGODB_SETTINGS = {'DB': 'your_mongo_db'}
DEBUG = True
=============================================================
- Populate with sample data (optional)
$ python manage.py populate
- Create a superuser
$ python manage.py createsuperuser
you@email.com
P4$$W0Rd
- Run
$ python manage.py runserver
- Access on http://localhost:5000
- Admin on http://localhost:5000/admin
or by making your server reachable on other networks
$ python manage.py run0
- Access on http://0.0.0.0:8000
- Admin on http://0.0.0.0:8000/admin
Documentation is not complete yet, but is being written at:
http://quokkaproject.org/documentation
If you want to help writing the docs please go to https://github.com/quokkaproject/quokkaproject.github.io
Also there is a Wiki
NOTE: the content from wiki will be moved to /documentation
- About & Features
- Installing and running
- Requirements
- Extending & Installing modules
- Admin interface
- Project tree
- Team & Committers
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
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.
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)
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!
Because it is the happiest animal in the world!
-
- Happiest animal in the world because they are known for how much they smile.
-
- They are marsupials
-
- They live on rottnest island named after quokkas because a Dutch guy thought they were large rats. Rottnest means "rats nest"
-
- They can climb trees
-
- Herbivores-they eat leaves,stems,grass,etc;
-
- They are nocturnal
-
- They can live for long periods of time, living off of the fat stored in their tails lol
-
- Females usually give birth once a year
-
- Quokkas are old enough to have babies at 1.5 years old!!
-
- Live 5-10 years
-
- Declining population—logging, pollution, killed by foxes,pet dogs, pet cats, humans,etc;😭😭
-
- They live in tall grass near water
-
- Btw if you meet a quokka don't feed it anything due to declining population because it could affect them
-
- Quokkas highest speed is 20mph
-
- They don't chew food.they just swallow it
-
- Closely related to the Rock Wallaby (in the picture^^^)
-
- Scientific name is Setonix Brachyurus
-
- Joey stays with mom for 35 weeks
-
- Quokkas recycle a small amount of their bodies waste products
-
- They create their own trails and paths to get food and runaway from predators.
This project is licensed under the MIT license, see LICENSE
for more details.