Installation¶
Requirements¶
The gamification-engine requires an installed python distribution in version 3.x. It uses several language structures which are not supported in Python 2.x. Furthermore, the only currently supported persistence layer is PostgreSQL. Also the corresponding development packages are required (for Ubuntu/Debian: libpq-dev and python3-dev).
Installation from PyPI¶
The gamification-engine is available as a python package. You can install it by invoking
$ pip install gamification-engine
$ gengine_quickstart mygengine
$ cd mygengine
In the latest version, there are some optional dependencies for auth pushes and testing. To use these features install it in the following way:
$ pip install gamification-engine[auth,pushes,testing]
Afterwards edit production.ini according to your needs.
Database¶
The only currently supported persistence layer is PostgreSQL as we make use of its timezone-related features.
To create the tables run:
$ initialize_gengine_db production.ini
Caching¶
- For caching we make use of two different approaches:
- using dogpile.cache for caching database lookups and computations
- using memcached as a URL-based cache that can be served directly by nginx
The second approach is optional but highly recommended, it can be deactivated by setting urlcache_active = false in your ini-file.
Serving¶
You can use any WSGI-supporting webserver. (e.g. nginx as a reverse-proxy to uwsgi)
To quickly get started, you can run:
$ pserve production.ini
Heroku-style¶
There is also an Heroku-like Project (we use dokku) at gamification-engine-dokku
Commercial Support¶
Commercial support is available at https://www.gamification-software.com or together with app development at https://www.appnadoo.de