How viniciusgm25/score-engine works
Score Engine accepts PF/PJ profiles, validates and calculates risk scores, and exposes results through REST; its evaluation endpoint can consult persisted history before recalculation. Documented Kafka consumption, model validation metrics, audit/history persistence, and the separate Decision service are also shown. Source excerpts establish the direct-score flow and, in the Score-Engine copy, the Decision dispatch; wiring details for unsampled Kafka and persistence implementations are limited to documented capabilities.
Main entry points: ScoreService.java Score service · EvaluateUnifiedScoreUseCase.java Unified evaluation · ScorePipelineController.java Decision dispatch · ScoreController.java Direct score REST
Components 22
Interfaces
- Direct score REST
src/main/java/br/com/scoreengine/infrastructure/web/ScoreController.java - Evaluation REST
src/main/java/br/com/scoreengine/interfaces/rest/controller/ScorePipelineController.java - Metrics REST
src/main/java/br/com/scoreengine/infrastructure/web/ScoreValidationController.java - Decision dispatch
Score-Engine/src/main/java/br/com/scoreengine/interfaces/rest/controller/ScorePipelineController.java
Application
- Score service
src/main/java/br/com/scoreengine/application/service/ScoreService.java - Unified evaluation
src/main/java/br/com/scoreengine/application/usecase/EvaluateUnifiedScoreUseCase.java - Model metrics
src/main/java/br/com/scoreengine/application/service/ScoreValidationService.java - Audit port
src/main/java/br/com/scoreengine/application/port/out/ScoreAuditPort.java - Decision port
Score-Engine/src/main/java/br/com/scoreengine/application/port/out/ScoreToDecisionPort.java
Scoring domain
- Profile validator
src/main/java/br/com/scoreengine/domain/validator/PerfilValidator.java - PF/PJ strategies
src/main/java/br/com/scoreengine/domain/calculator/ScoreCalculatorStrategy.java - Customer profiles
src/main/java/br/com/scoreengine/domain/model - Score result
src/main/java/br/com/scoreengine/domain/model/common/ScoreResult.java
Infrastructure
- Score Kafka consumer
src/main/java/br/com/scoreengine/infrastructure/messaging/ScoreKafkaConsumer.java - Audit persistence
src/main/java/br/com/scoreengine/infrastructure/persistence/adapter/ScoreAuditRepositoryAdapter.java - Evaluation history
src/main/java/br/com/scoreengine/infrastructure/persistence/adapter/ScoreEvaluationRepositoryAdapter.java - Decision HTTP client
Score-Engine/src/main/java/br/com/scoreengine/infrastructure/integration/DecisionHttpClient.java
Decision service
- Decision HTTP service
Decisao/server.js - Decision audit rules
Decisao/src/auditoria.js
Other components
- API caller
- Decision API user
- Model evaluator
Connections 20
- API caller → Direct score REST: submits profile
- Direct score REST → Score service: calls scoring
- Score service → Profile validator: validates profile
- Score service → PF/PJ strategies: selects strategy
- Score service → Audit port: saves audit
- Score service → Score result: returns score
- Evaluation REST → Unified evaluation: calls evaluation
- Unified evaluation → Evaluation history: checks history
- Unified evaluation → Score service: recalculates
- Unified evaluation → Score result: returns output
- Audit port → Audit persistence: writes audit
- Model evaluator → Metrics REST: submits metrics
- Metrics REST → Model metrics: calculates metrics
- Score Kafka consumer → Unified evaluation: dispatches requests
- Decision API user → Decision dispatch: submits profile
- Decision dispatch → Unified evaluation: calls evaluation
- Decision dispatch → Decision port: dispatches score
- Decision port → Decision HTTP client: sends result
- Decision HTTP client → Decision HTTP service: posts score
- Decision HTTP service → Decision audit rules: processes result