Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

92 lines (62 sloc) 3.16 kB

django-badger

Badger is a family of Django apps intended to help introduce badges into your project, to track and award achievements by your users. This can be used to help encourage certain behaviors, recognize skills, or just generally celebrate members of your community.

For more about the thinking behind this project, check out this essay: Why does Mozilla need a Badger?

The django-badger package is the core Badger app. It offers (or plans to offer) the following:

  • Basic badges, managed by the site owner in code and via Django admin.
  • Badge awards, triggered in response to signal-based events with code collected in per-app badges.py modules.
  • Meta-badges, for which an award is automatically issued when a complete set of prerequisite badge awards have been collected.
  • Progress tracking, for which an award is issued when a user metric reaches 100% of some goal, or in response to some other custom logic.
  • Activity streams of badge awards.

Installation

  • TBD, see badger2 for an example site setup
  • pip install git://github.com/lmorchard/django-badger.git#egg=django-badger

Settings

  • TBD, see badger2 for an example site setup
  • TBD, see badger/tests/badger_example/badges.py for an example.

Templates

There are two sets of templates in the templates folder. The templates found in badger_playdoh are intended for use with Playdoh sites, while those found in badger_vanilla are meant for plain Django sites.

You'll need to make a copy of one of these folders into a directory named templates/badger at the top level of your project. Then, you can customize the templates as necessary for your site.

Creating badges

  • TBD, see badger/tests/badger_example/badges.py for an example.

Awarding badges

  • TBD, see badger/tests/badger_example/badges.py for an example.

Testing

  • TBD, see badger2 for an example site setup

Other Badger apps

Here are other apps in the Badger family, either in progress or proposed:

django-badger-multiplayer
Badges for and by everyone. Augments django-badger with features to make badge creation, nomination, and awarding a multiplayer game.
django-badger-api

Augments django-badger with a REST API and OAuth so external scripts and bots can issue awards and nominations in response to events monitored in custom ways. Also, opens the way for things like mobile apps, etc.

(This app hasn't been started yet, and it's possible that it may evaporate and/or just be integrated into django-badger as a hypermedia API.)

If you want to federate or share badges, you should check out the Mozilla Open Badges project.

Jump to Line
Something went wrong with that request. Please try again.