Meeds-io / MIPs

The Meeds Improvement Proposal repository
0 stars 0 forks source link

Variable Rewarding #140

Open srenault-meeds opened 1 month ago

srenault-meeds commented 1 month ago

Rationale

Using the Crowdin Connector or the EVM Connector confirms us that we need variable rewards. Indeed, currently, only a fixed amount of points can be earned. Even if program owners can manage this by proposing different level, this looks unfair

The solution would be the following: A variable amount of points so user earn depending on their "volume" of action / of their "effort" of work Example:

In addition to that, we'd like to take this opportunity of reviewing the reward business rule by improving the UX when creating an action. Indeed:

  1. end-users have reported it is sometimes confusing to see a new step appearing when choosing automatic action type
  2. it is also difficult to make a choice between actions without knowing what we can do after (which connector, for what purpose)

1. Functional Requirements

Top User Stories

To solve these problems while enhancing the UX, here are the work that would be done:

Note: This review will help us in the future to:

  1. Add more rewards items, like token, badges, etc.
  2. Add more use case, like visit a website, answer to a quizz, etc.

Here are examples of actions creation (manual or automatic)

Manual action Manual action

Automatic action Automatic action

Impacts

Gamification

Addition of variable rewarding Access to use case depending on which connector is enabled

Notifications

NA

Analytics

NA

Unified Search

NA

2. Technical Requirements

Expected Volume & Performance

Security

NA

Extensibility

The create/update action drawer has to be improved. Create/update drawer UIs should still be extensible (injected with registry extension).

Configurability

variableRewarding attribute will be added to eventConfigPlugin for event that allow to enable variable rewarding

Upgradability

NA

Existing Features

Existing actions has to remain working without any manual change to do by rewarding admins. The upgrade has to be transparent.

Feature Flags

No feature flag is needed.

4. Software Architecture

Security

NA

Access

NA

Services & processing

Variable rewarding will be calculated for each event (if variable rewarding enabled) inside eventConfigPlugin

Data and persistence

Variable reading info will be stored in GAMIFICATION_EVENT_SETTINGS. The column SCORE in GAMIFICATION_RULE will be updated, because it could be empty.

margondicco commented 1 month ago

Hello Go Fonc

AzmiTouil commented 3 weeks ago

Technical spec added. To check please @rdenarie .

rdenarie commented 3 weeks ago

Hello, Go tech