Logotipo Hedhog

Receba novidades do Hedhog no seu e-mail

Novos lançamentos, receitas e breaking changes — sem spam.

Submódulo LMS

evaluations

Sistema de avaliação de satisfação do aluno — um catálogo de tópicos direcionado a cursos, aulas, sessões, questões ou exames, e as respostas de nota paginadas coletadas contra esses tópicos.

Caminho de origem: libraries/lms/src/evaluation

Arquivo do módulo: evaluation.module.ts

Introdução

O submódulo Evaluations é a camada de pesquisa de satisfação do HedHog LMS. Um tópico de avaliação é um template de pergunta (por exemplo, "O conteúdo estava claro?") marcado com um `targetType` — course, course_lesson, course_class_session, question ou exam — que determina qual tipo de entidade os alunos podem avaliar contra ele. Tópicos são explicitamente ordenáveis (`PATCH /topics/reorder`), de modo que o painel de admin possa controlar a sequência que os alunos veem ao avaliar, e são protegidos contra exclusão depois que coletaram notas (`422 Unprocessable Entity`), preservando a integridade dos dados históricos de pesquisa.

O `GET /lms/evaluations` é a superfície de consulta transversal: retorna as respostas de nota individuais com filtragem rica por curso, turma, instrutor, avaliador e intervalo de datas, e enriquece cada linha com um par `topicAvgScore`/`topicRatingCount`, de modo que a UI de admin possa mostrar uma resposta individual junto com o agregado de seu tópico para contexto. O `GET /lms/evaluations/filter-options` deriva os valores de dropdown disponíveis (cursos, turmas, instrutores, avaliadores) diretamente dos tópicos que já têm notas, de modo que os menus de filtro nunca mostrem opções com zero resultados.

Notavelmente, o `EvaluationService` também implementa `getCourseLessonTopics`, `getMyLessonRatings` e `submitLessonRatings` — o fluxo real de submissão voltado ao aluno — mas esses não são expostos pelo `EvaluationController` nem pelas ferramentas MCP deste submódulo; eles são consumidos pelo portal do aluno Platforma (`GET/POST /lms/platforma/lessons/:lessonId/evaluation-topics`, `/my-evaluation`, `/evaluate`), já que o `EvaluationService` é exportado do `EvaluationModule` para uso entre módulos.

Endpoints HTTP

9 endpoints

Estatísticas gerais: total de avaliações, pontuação média, tópicos avaliados, total de avaliadores.

Valores de dropdown de filtro disponíveis (cursos, turmas, instrutores, avaliadores), derivados de tópicos avaliados.

Lista paginada de tópicos de avaliação.

Query
page, pageSize, search, targetType

Cria um tópico de avaliação.

Body

FieldTypeRequiredNotes
namestringyesMax 255 chars
targetType'course' | 'course_lesson' | 'course_class_session' | 'question' | 'exam'yes
descriptionstringno
ordernumbernoMin 0
isActivebooleanno

Obtém um tópico por ID; 404 se ausente.

Params
id (int)

Reordena os tópicos para corresponder à posição de índice de cada ID no array.

Body

FieldTypeRequiredNotes
idsnumber[]yes

Atualiza um tópico (todos os campos opcionais).

Params
id (int)

Exclui um tópico; 422 se já tiver notas.

Params
id (int)

Lista paginada de respostas de nota de avaliação com contexto agregado do tópico.

Query
page, pageSize, search, courseId, classId, instructorId, evaluatorId, dateFrom, dateTo

Ferramentas MCP

Ferramentas nomeadas que podem ser chamadas por modelos de IA através do Model Context Protocol (MCP).

  • lms.evaluations.list

    Lista avaliações com filtros opcionais (curso, turma, instrutor, avaliador, intervalo de datas)

  • lms.evaluations.stats

    Retorna estatísticas agregadas de avaliações

  • lms.evaluations.filter-options

    Retorna as opções de filtro disponíveis para a lista de avaliações (cursos, instrutores, avaliadores)

  • lms.evaluations.topics.list

    Lista tópicos de avaliação com paginação e filtros opcionais

  • lms.evaluations.topics.get

    Retorna um único tópico de avaliação por ID

  • lms.evaluations.topics.create

    Cria um novo tópico de avaliação

  • lms.evaluations.topics.update

    Atualiza um tópico de avaliação existente

  • lms.evaluations.topics.delete

    Exclui um tópico de avaliação por ID

  • lms.evaluations.topics.reorder

    Reordena tópicos de avaliação