Initial Discourse badge design spec

Personally, I love the usercard (nitpick not sure about badge styling or bright yellow)

I worry though we are entering specification paralysis here, so want to push forward.

We have enough to go by on this topic for a “version 0”. Since I will likely be maintaining this long term I will take the roll of benevolent dictator for dictating the implementation.

This is what I would like to see for version 0:

  • A badges table with (id, name, type)
  • A user_badges table with (id, badge_id, user_id, granted_at, granted_by)
  • Badge name used as the key to localize name and description for badges, description can include html for links.
  • An API to grant users badges and revoke
  • Usercard UI similar to what @awesomerobot suggested
  • User page UI somewhat like usercard
  • An admin UI to grant/badges badges to users (in admin user page)
  • An admin UI to grant/revoke badges to groups in groups page (and keep them up to date)

That is it for phase 0. I want this PR in first, then we can build on it.

Phase 1 can focus on dealing with numbers vs badges next to users to the left. It can start dealing with automatic awards. and so on. I just want the groundwork in first.

cc @radq

9 Likes