Challenges (and rewards for them) are handled by the engagement-manager
Service | Description |
---|---|
AuditLogMessagingService (not implemented yet) | Should be responsible for construction and sending of messages into audit log. This is a common service and implementation/usage should be similar as in other services. |
CustomerChallengeService | Responsible for managing Challenges for each of the customer. Based on defined missions/challenges in DB recognizes which missions/challenges are available to the customer and manges their statuses. |
CustomerEventService | Responsible for parsing customer events and putting them into DB for later processing. advantage of having separate methods for each type of event should be that the interface for each of them is clear wich is easier to use/understand than using just some arbitrary maps with undefined structures. |
CustomerRewardService | Responsible for managing rewards for each challenge for each customer. |
MessagingService | Responsible for sending events and snapshots. Currently contains these events:
This is a common service and implementation/usage should be similar as in other services. |
NotificationService | Responsible for sending notifications. This is a common service and implementation/usage should be similar as in other services. |
OutputService | Wrapper for output-manager messages. This is a common service and implementation/usage should be similar as in other services. |
ProcessorService | Responsible for processing customers' events and recognizing which missions/challenges are completed. Each of the processors can have their own required parameters (based on its type). |