Skip to content

Gamification tutor communication events#50

Merged
MP-DG merged 5 commits intomainfrom
gamification-tutor-communication-events
Dec 15, 2025
Merged

Gamification tutor communication events#50
MP-DG merged 5 commits intomainfrom
gamification-tutor-communication-events

Conversation

@MP-DG
Copy link
Contributor

@MP-DG MP-DG commented Dec 15, 2025

Description of changes

This PR adds new events to enable communication between services, specifically for the tutor_service with gamification, skillevel and assignment services:

  • Add UserHexadPlayerTypeSetEvent for gamification service
  • Add HexadPlayerType enum with 6 player types
  • Add USER_HEXAD_PLAYER_TYPE_SET topic to DaprTopic
  • Add notifyUserHexadPlayerTypeSet method to TopicPublisher
  • Add RequestHexadPlayerTypeEvent to request a UserHexadPlayerTypeSetEvent
  • Add RequestUserSkillLevelEvent to request a UserSkillLevelChangedEvent
  • Add StudentCodeSubmittedEvent to allow student code submissions to be sent to other services for analysis
  • Add STUDENT_CODE_SUBMITTED topic to DaprTopic
  • Add notifyStudentCodeSubmitted method to TopicPublisher

These events enable:

  1. Gamification service to publish player type information to other services
  2. Services to request user skill levels and player types on demand
  3. Assignment service to publish student code submissions for processing by other services

How has this been tested?

Please describe the test strategy you followed.

  • automated unit test
  • automated integration test
  • automated acceptance test
  • manual, exploratory test

Tests verify that:

  • Events are correctly structured with all required fields
  • Topic enum entries are properly defined
  • Publisher methods correctly route events to their respective topics

Checklist before requesting a review

  • My code follows the coding guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • My code fulfills all acceptance criteria
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • The test coverage (line and branch) is reasonably high, especially on Service classes and other classes with complex logic
  • I have made corresponding changes to the documentation
  • I have added explanation of architectural decision and rationales to wiki/adr
  • I have updated the changes in the ticket description

Checklist for reviewer

  • The code works and does not throw errors
  • The code is easy to understand and there are no confusing parts
  • The code follows the coding guidelines of this project
  • The code change accomplishes what it is supposed to do
  • I cannot think of any use case in which the code does not behave as intended
  • The added and existing tests reasonably cover the code change
  • I cannot think of any test cases, input or edge cases that should be tested in addition
  • Description of the change is included in the documentation

@MP-DG MP-DG requested a review from nk-coding December 15, 2025 19:38
@MP-DG MP-DG merged commit c762fbc into main Dec 15, 2025
3 of 4 checks passed
@MP-DG MP-DG deleted the gamification-tutor-communication-events branch December 15, 2025 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants