Badge Criteria Evaluator
Component Detail
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.
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
Related Data Entities (3)
Data entities managed by this component