From 2ff79ced538dd5687b0bf1a1137e51fbaf6ca59a Mon Sep 17 00:00:00 2001 From: Lucas Santana Date: Wed, 12 Feb 2025 19:29:12 -0300 Subject: [PATCH] =?UTF-8?q?feat:=20adiciona=20compet=C3=AAncias=20ENEM=20n?= =?UTF-8?q?a=20an=C3=A1lise=20de=20reda=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- CHANGELOG.md | 25 +++++++++-------------- supabase/functions/analyze-essay/index.ts | 13 +++++++++++- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d87f84a..f4c183d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/supabase/functions/analyze-essay/index.ts b/supabase/functions/analyze-essay/index.ts index e609d54..1bfa47e 100644 --- a/supabase/functions/analyze-essay/index.ts +++ b/supabase/functions/analyze-essay/index.ts @@ -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()