At P2PU, learning is guided by people, passion, and projects. We’ve created this Badge platform to spark feedback between Experts and Learners about their learning projects. A Badge is symbol of mastery that comes out of those conversations. Here you’ll find out how Badges work, and some resources to build your own.
CSS Python HTML JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Badges Build Status

This is our third take on badges! It boils down to this: Create a badge, submit a project for a badge, get feedback and revise your project, receive the badge, give feedback and build the value of the badge you have by being part of an awesome community around it!


This project is written using django. Most dependencies are handled by Pip, but there are a few initial system requirements.

System Requirements

The following packages need to be installed on your system:

e.g. installation on Ubuntu Linux

Ruby and Python come pre-installed on Ubuntu Linux.


To install the additional dependencies on Ubuntu Linux, use a graphical package manager or the following commands in Terminal:

sudo apt-get install postgresql postgresql-server-dev-all

virtualenv / virtualenvwrapper

sudo pip install virtualenv virtualenvwrapper

To complete the virtualenvwrapper installation, follow the virtualenv installation instructions.


The SASS package can be installed through Ruby Gems.

sudo gem install sass

Install Badges

To get up and running for development

Create a virtual environment

  1. Create a new virtual environment: mkvirtualenv p2pu-badges
  2. Activate the virtual environment: workon p2pu-badges

Get the code

  1. Make a local copy of the code: git clone
  2. Move into the code directory: cd badges
  3. Init submodules: git submodule init
  4. Fetch submodules: git submodule update

Install additional dependencies

pip install -r badges/requirements.txt

Create a local settings file

Copy to

Note: is located in the subfolder /path/to/code/badges/badges/

cp badges/badges/ badges/badges/

Set up the database

  1. Sync database: python badges/ syncdb
  2. Migrate the database schema: python badges/ migrate
  3. Load some test data: python badges/ load_test_data testdata/test_data.json

Start the server

  1. Run development server: python badges/ runserver
  2. Go to http://localhost:8000/ and play around


And lastly, fix all the bugs, add cool new features and take over the world :)

Mozilla Open Badge Integration and Development


Setup Development Environment:

  1. Prepare validator
  1. Amend
    • set OPEN_BADGES_PUBLIC_URL to your development box (and later to production public url)
    • if using local validator, OPEN_BADGES_PUBLIC_URL='http://localhost:8000'
    • otherwise play with ssh remote tunneling and set OPEN_BADGES_PUBLIC_URL accordingly
  2. Open Badges urls:
  • OPEN_BADGES_PUBLIC_URL/openbadges/assertions/
  • OPEN_BADGES_PUBLIC_URL/openbadges/badge/<badge_id>
  • OPEN_BADGES_PUBLIC_URL/openbadges/organisation