Gamification
Last updated
Last updated
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.