Feature #14091

"Achievement System" or "Badge System"

Added by Kan Liu over 5 years ago. Updated over 5 years ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Plugin Request
Target version:-
Resolution:

Description

I took this inspiration from video games, that when a user has completed a certain task or accumulated a certain amount of "kills", he get an "achievement" or "badge".

I work in game industry. I think that if we give such honor or encouragement to our employees, they can be more proactive.

So, is there a away to add a "Achievement System" or "Badge System" to Redmine, or simply make a plugin?

Thanks,

History

#1 Updated by Kan Liu over 5 years ago

(Sorry for forgetting to select a category)
There are a few details I would like to specify for this feature:

Sub-features of Achievement System

  • Admin Interface - For Admins to manage Achievements
  • Display Area for Achievements on User Page - Viewable by Other Users
  • Display Area for Achievements on user's My Page (customizable via "Personalize My Page") - Viewable by Self
  • "All Achievement" page - Viewable by All
  • Achievement Rankings - Encourages Achievement Competition

Elements of an Achievement

An achievement may contain these elements:

For Users
  1. Name|String: A single-line text string that defines the name of the Achievement, e.g. "First Blood";
  2. Description|Text: A multi-line text string that describes the Achievement, e.g. "Completed your first assignment";
  3. Icon|Image: A simple image that flavors this achievement;

(All the elements above are defined/uploaded by Admins)

For Admins
  1. Requirement|Text: A multi-line text string that describes the triggering condition or mechanism that how this achievement should be rewarded to a user. This element is for Admins, so it might be a less user-friendly description. e.g. "User's Assignment Status changed from Assigned to Completed";

Admin Interface

To manage the Achievements, there should an interface or control panel for the Admins. This interface should provide functions such as:
  1. Add or Delete Achievements;
  2. Edit Achievements, defining or changing its elements stated above;
  3. Manually reward/remove achievements to/from users (individually or batch);

Working Mechanism of this "Achievement System"

Here goes a simple Workflow demostration:
  1. Admin Adds/Defines Achievements
  2. Display in "All Achievements" Page
  3. Users meet the requirement of certain Achievements
  4. Admin reward the corresponding Achievements to Users
  5. Completed Achievements display in User Page and user's My Page
  6. All users with Achievements are ranked in a Ranking page

Other Notes

  1. Since it is difficult to customize how the program could recognize when a user meets the requirement of an Achievement, so all Achievement can be manually rewarded to users by Admins. (Which means, no automatic Achievement triggering)
  2. Since there is no "automatic triggering", it is better that there is a "Apply for Achievement" feature for the users, so they can ask for the reward when they finished their tasks; and a "Achievement Reminder" for the Admins, so they can efficiently reward achievements to those who deserve;
  3. Better there's an "Achievement Center" where all Achievement-related actions are gathered. (however the displays should also be on user page and their "my page")

#2 Updated by Jean-Baptiste Barth over 5 years ago

  • Category set to Plugin Request

I don't think it's a general feature that will be interesting for everybody using Redmine, but it would be great in some cases. So it's a perfect fit for a plugin! Actually your description is pretty complete, thanks for that, it should be a good starting point.

Also available in: Atom PDF