Gaming requirements
Can track user’s points, badges and achievements across different projects and categories (specific to each project).
User’s profile return user’s points by category, as well as obtained badges/ challenges. Also return current* position on leaderboard, and current level.
Points transactions are categorized so it can track repeatable and non repeatable actions (so deduplication is enforced when required)
Unlimited points transaction - on average we expect a user to have 20 to 50 transactions, but if required we could store thousands of point transactions per user: o complex bot with multiple tracking mechanisms could have 1,000+ transactions for a re-visiting user.
Targets (for calculating completion % ). By project/ category.
A headless browser image generator representing the user overall scores using a customized HTML design
Concepts
Points | Awarded by completion of tasks/ activities in the bot/ app. It is possible to classify points across different categories. If there is expectation to calculate progress, we also need to set targets per category. Categories are specified per project. Points can be awarded one-time or multiple times per completed activity. One-time means that once you complete the specific tasks/ activity, you cannot get more points for doing the same activity again. |
Show user status as a tier. Based on Number of points over the lifetime of the user, a user will be labeled as blue/ gold/ platinum/ other level. Level names and bands are specified per project. | |
Records completion of challenges. Can be used to unlock access to areas of the bot/ app. Can have expiration dates. | |
Demonstrate understanding or step of certain knowledge objectives. Stored as plain tags. Can have expiration dates. | |
The position of the user across all other users. Can be for a specific time period, or across all periods. Based on points or a mix of points and other criterias. |