django-badger is a reusable Django app for creating and awarding badges. See also badges.mozilla.org
Перейти к файлу
Les Orchard 8acdb721d1 Add allows_delete_by permission method to Badge model 2012-05-13 00:07:54 -04:00
badger Add allows_delete_by permission method to Badge model 2012-05-13 00:07:54 -04:00
.gitignore Splitting badger app out of badger2 project 2011-07-21 21:53:13 -04:00
LICENSE Progress on badge editing. 2011-07-22 00:23:12 -04:00
README.rst Update README.rst 2012-03-12 01:53:36 -03:00
TODO.md TODO update 2012-05-13 00:06:49 -04:00
setup.py Changes for vanilla Django 2012-02-08 13:22:47 -05:00

README.rst

=============
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?  <http://decafbad.com/2010/07/badger-article/>`_

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 <https://github.com/lmorchard/badger2>`_ for an example
  site setup
- ``pip install git://github.com/lmorchard/django-badger.git#egg=django-badger``

Settings
--------

- TBD, see `badger2 <https://github.com/lmorchard/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 <https://github.com/lmorchard/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 <https://github.com/lmorchard/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 <https://github.com/lmorchard/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 <https://github.com/mozilla/openbadges>`_ project.

.. vim:set tw=78 ai fo+=n fo-=l ft=rst: