Skip to content

gamification-engine (gengine) is a framework for developing gamification features for your application

License

Notifications You must be signed in to change notification settings

ActiDoo/gamification-engine

Repository files navigation

gamification-engine

Build Status Coverage Status Requirements Status Heroku Documentation Status Release Latest Version PyPI License

The Gamification-Engine (gengine) is an open source software (MIT) for integrating any kinds of gamification features into your product.

The engine is not meant to be a platform including any kinds of predefined graphics, layouts or statistics. It is framework for developing your own solution, implemented as a service to which your application server can talk over a REST api.

( https://www.actidoo.com )

Latest recommended version: https://github.com/ActiDoo/gamification-engine/releases/latest

Features

  • multi level achievements
  • multi goal achievements
  • progress and single goals
  • leader boards / ladder
  • achievements can be reached directly or by evaluating leaderboards daily, weekly, monthly or yearly
  • time zone independent (correct daily, weekly.. evaluations among time zones)
  • social-awareness (e.g. reach the highest score among your friends)
  • geo-awareness (e.g. reach the highest score among all users in your city)
  • rules can be defined in python using given variables (e.g. the current level)
  • custom definable achievement properties and rewards
  • custom definable languages and translations
  • dependencies between achievements (prerequisites & postconditions)
  • goals can execute triggers (currently creation of messages and mobile pushes for iOS/Android)
  • high performance / scalable
  • administration ui

REST Interface

Simple REST-interface to communicate with arbitrary systems

see http://gamification-engine.readthedocs.org/en/latest/rest/index.html

Demo Installation

A demo installation is available at https://gamification-engine.herokuapp.com/

Usage

  1. A ready-to-use buildpack for Heroku and dokku is available at https://github.com/ActiDoo/gamification-engine-dokku Follow the instructions there.
  2. The current stable version is available as python package at https://pypi.python.org/pypi/gamification-engine
  3. Checkout the source code and configure the PostgreSQL database in development.ini. Then run python setup.py develop to configure the application, initialize_gengine_db development.ini reset_db=True populate_demo=True to configure the database and pserve development.ini to start it. The front end is available at http://localhost:6543/admin/

Docker support (2019-12)

For development run: docker-compose up Go to localhost:9000 to access admin interface or localhost:6060 to access adminer. Code will be mounted into the container and server will be started with --reload.

For production deployment adapt passwords and settings in production.ini and docker-compose.production.yml and run:

docker-compose -f docker-compose.production.yml up -d

A production ready server will run on localhost:9000, login using credentials set in docker-compose.production.yml

Roadmap

Do you want to contribute? We badly need tests! Also a nicer admin UI would be great or maybe some cool features :-)

For a full list see:

http://gamification-engine.readthedocs.org/en/latest/roadmap.html

Licenses of dependencies

Pyramid: BSD-derived (http://www.repoze.org/LICENSE.txt)

pyramid_chameleon: BSD-derived (http://www.repoze.org/LICENSE.txt)

pyramid_debugtoolbar: BSD

SQLAlchemy: MIT

zope.sqlalchemy: Zope Public License (ZPL) Version 2.1

waitress: Zope Public License (ZPL) Version 2.1

pytz: MIT

dogpile.cache: BSD

pyramid_dogpile_cache: MIT

flask: BSD

flask-admin: BSD

psycopg2: LGPL / ZPL

pymemcache: Apache License 2.0

mock: BSD

alembic: MIT