Service Layer medium complexity backend
2
Dependencies
1
Dependents
3
Entities
0
Integrations

Description

Service that interprets configuration-driven badge criteria definitions and evaluates them against a user's collected data. Supports criteria types such as activity count thresholds, consecutive weeks active, contact types supported, and courses completed - enabling new badge types without code changes.

Feature: Achievement Badges

badge-criteria-evaluator

Responsibilities

  • Parse badge criteria definitions from the configuration store
  • Evaluate count-based criteria against activity and statistics data
  • Evaluate streak-based criteria (consecutive weeks active) for engagement badges
  • Evaluate type-based criteria (contact types, course completions) for diversity badges
  • Return evaluation results to Badge Award Service for award decisions

Interfaces

evaluate(userId: String, criteria: BadgeCriteria): Future<bool>
getSupportedCriteriaTypes(): List<String>
validateCriteriaDefinition(criteria: BadgeCriteria): bool
getActivityCountForUser(userId: String): Future<int>
getConsecutiveWeeksActive(userId: String): Future<int>

Relationships

Dependencies (2)

Components this component depends on

Dependents (1)

Components that depend on this component

Related Data Entities (3)

Data entities managed by this component