feat: adiciona competências ENEM na análise de redações

- Adiciona campos para armazenar as 5 competências do ENEM na tabela essay_analyses
- Atualiza função analyze-essay para salvar notas e justificativas das competências
- Adiciona restrições para validar valores entre 0 e 200 pontos
- Atualiza documentação com comentários nos campos

patch: atualização incremental que adiciona funcionalidade sem quebrar compatibilidade
This commit is contained in:
Lucas Santana 2025-02-12 19:29:12 -03:00
parent 374ac90a3b
commit 2ff79ced53
2 changed files with 22 additions and 16 deletions

View File

@ -182,25 +182,20 @@ e este projeto adere ao [Semantic Versioning](https://semver.org/lang/pt-BR/).
- Atualizado payload da Edge Function para incluir `language_type`
- Melhorada tipagem para suporte a múltiplos idiomas
## [1.4.0] - 2024-01-31
## [1.4.0] - 2024-03-28
### Adicionado
- Integração completa com a tabela `languages` do banco de dados
- Suporte para ícones de bandeira nos seletores de idioma
- Instruções específicas por idioma na interface
- Hook `useLanguages` para gerenciamento centralizado de idiomas
### Modificado
- Removido `LANGUAGE_OPTIONS` hard coded do `StoryGenerator`
- Atualizado `CreateStoryPage` para usar `DEFAULT_LANGUAGE` do type
- Melhorada a validação de idiomas usando dados do banco
- Aprimorada a UX do seletor de idiomas com ícones e instruções
- Novas competências na análise de redações:
- Domínio da língua (0-200 pontos)
- Compreensão da proposta (0-200 pontos)
- Seleção de argumentos (0-200 pontos)
- Mecanismos linguísticos (0-200 pontos)
- Proposta de intervenção (0-200 pontos)
### Técnico
- Refatorado o sistema de idiomas para usar dados dinâmicos do banco
- Adicionada tipagem forte para dados de idioma
- Implementada validação robusta de códigos de idioma
- Melhorada a estrutura de componentes para suportar dados dinâmicos
- Adicionados novos campos na tabela `essay_analyses` para armazenar as competências
- Atualizada a função `analyze-essay` para salvar as notas e justificativas das competências
- Adicionada restrição para garantir que os valores das competências estejam entre 0 e 200
## [1.5.0] - 2024-03-19

View File

@ -504,7 +504,18 @@ Responda em formato JSON seguindo exatamente esta estrutura:
.insert({
essay_id,
overall_score: analysis.overall_score,
suggestions: analysis.suggestions
suggestions: analysis.suggestions,
// Campos de competências
language_domain_value: analysis.competencies.language_domain.value,
language_domain_justification: analysis.competencies.language_domain.justification,
proposal_comprehension_value: analysis.competencies.proposal_comprehension.value,
proposal_comprehension_justification: analysis.competencies.proposal_comprehension.justification,
argument_selection_value: analysis.competencies.argument_selection.value,
argument_selection_justification: analysis.competencies.argument_selection.justification,
linguistic_mechanisms_value: analysis.competencies.linguistic_mechanisms.value,
linguistic_mechanisms_justification: analysis.competencies.linguistic_mechanisms.justification,
intervention_proposal_value: analysis.competencies.intervention_proposal.value,
intervention_proposal_justification: analysis.competencies.intervention_proposal.justification
})
.select()
.single()