Gamification

  • User: The process is initiated by the user, who logs into the system and creates a new challenge with specific criteria.

  • Identity Service: This component is responsible for verifying the user’s identity. It ensures that only authorized personnel can create or modify campaigns.

  • Challenge Service: After successful authentication, the user interacts with the Challenge Service to input the new challenge’s details, such as its required trigger, duration, and reward type.

  • User Action Service: This component is responsible for monitoring user actions on the challenges and triggers, it checks for reward-eligible users and sends them to the Rewarding Engine.

  • Rewarding Engine: The Rewarding Engine, is tasked with calculating and distributing rewards to the campaign participants. It uses predefined success metrics to determine reward eligibility and amounts.

  • Transactions Center: It handles all transaction-related activities for the challenges. It logs all data from systems and handles the system's flow and communication between each other.

  • Channels Service: The final component in the sequence, sends reward messages to users using the user's most engaged channel.

Interaction Flow:

  • The user sends a login request to the Gamification App.

  • The Gamification App authenticates the user with http/2 headers by communicating with the Identity Service.

  • The Identity Service validates the credentials and returns a response to the Gamification App.

  • The Gamification App logs in the user and sends a response to the user, the user then checks for available rewards.

  • The Gamification App shows challenge details to the user by interacting with the Challenge Service.

  • Meanwhile, the user action service checks for reward eligibility by communicating with the Rewarding Engine and the transactions center, if the user is not eligible for a reward, the User Action Service sends a message to the user.

  • If the User is eligible for a reward, the Channels Service sends a reward message to the user via selected channels.

Last updated