story-generator/CHANGELOG.md
Lucas Santana fc0ef9ba27
Some checks failed
Docker Build and Push / build (push) Has been cancelled
fix: corrige tipagem das métricas de escrita com competências do ENEM
- Atualiza interface WritingMetrics para incluir campos das competências do ENEM
- Corrige valores padrão no metricsStore
- Atualiza inicialização de métricas no StudentDashboardPage
- Mantém compatibilidade com o sistema de métricas existente

patch: Correção de tipagem sem alteração de funcionalidade
2025-02-13 10:17:57 -03:00

14 KiB

Changelog

Todas as mudanças notáveis neste projeto serão documentadas neste arquivo.

O formato é baseado em Keep a Changelog, e este projeto adere ao Semantic Versioning.

[0.5.1] - 2024-01-31

Técnico

  • Corrigido erro de constraint na tabela stories ao atualizar status
  • Removida tentativa de atualizar coluna inexistente error_message
  • Ajustados os status da história para valores válidos: 'pending', 'published', 'failed'
  • Melhorada validação e logs durante o processo de geração da história

Modificado

  • Alterado fluxo de status da história para usar estados válidos do banco de dados
  • Melhorada mensagem de erro para usuário final em caso de falha na geração

[1.0.0] - 2024-03-20

Adicionado

Sistema de Exercícios Fônicos

  • Criação do sistema de exercícios fônicos com categorias e tipos
  • Implementação de exercícios de rima, aliteração, sílabas e sons
  • Sistema de progresso do estudante com pontuação e estrelas
  • Sistema de conquistas e recompensas

Banco de Dados

  • Tabelas para categorias de exercícios (phonics_exercise_categories)
  • Tabelas para tipos de exercícios (phonics_exercise_types)
  • Tabela principal de exercícios (phonics_exercises)
  • Tabela de palavras e suas características fonéticas (phonics_words)
  • Tabela de relação exercício-palavras (phonics_exercise_words)
  • Sistema de mídia para exercícios (media_types, phonics_exercise_media)
  • Sistema de progresso do estudante (student_phonics_progress)
  • Sistema de tentativas e respostas (student_phonics_attempts, student_phonics_attempt_answers)
  • Sistema de conquistas (achievement_types, phonics_achievements, student_phonics_achievements)

Funcionalidades

  • Categorização de exercícios por nível e tipo
  • Sistema de pontuação e progresso
  • Registro detalhado de tentativas e respostas
  • Sistema de conquistas com diferentes tipos (sequência, conclusão, maestria)
  • Suporte a diferentes tipos de mídia (imagens, sons, animações)

Segurança

  • Políticas de acesso baseadas em Row Level Security (RLS)
  • Proteção de dados específicos do estudante
  • Controle de acesso para diferentes tipos de usuários

Performance

  • Índices otimizados para consultas frequentes
  • Estrutura de dados normalizada
  • Relacionamentos e chaves estrangeiras para integridade dos dados

Técnico

  • Implementação de migrações do banco de dados
  • Criação de índices para otimização de consultas
  • Implementação de políticas de segurança RLS
  • Estrutura de dados normalizada com relacionamentos apropriados

Modificado

  • N/A (primeira versão)
  • Todas as páginas principais para usar texto adaptativo
  • Componentes de exercícios para suportar transformação de texto
  • Movido controle de sílabas para a página de histórias

Removido

  • N/A (primeira versão)

[1.1.1] - 2024-05-21

Adicionado

  • Componente TextCaseToggle para alternar entre maiúsculas e minúsculas
  • Componente AdaptiveText para renderização adaptativa de texto
  • Hook useUppercasePreference para gerenciar preferências de texto
  • Suporte a texto adaptativo em exercícios fônicos

Modificado

  • Atualização do layout do dashboard para incluir controle de texto
  • Integração do sistema de texto adaptativo em componentes existentes
  • Melhorias na acessibilidade dos componentes de texto

Técnico

  • Refatoração dos componentes de texto para suportar transformação dinâmica
  • Otimização do sistema de preferências do usuário
  • Melhorias na performance de renderização de texto

[1.1.0] - 2024-03-21

Adicionado

  • Novo recurso "Modo Foco" para melhorar a experiência de leitura
    • Ativação automática ao iniciar gravação
    • Desativação automática ao parar gravação
    • Interface adaptativa com foco no texto
    • Controles de acessibilidade (tamanho da fonte, espaçamento)
    • Destaque automático de palavras durante a leitura

Técnico

  • Integração entre componentes AudioRecorder e StoryPage para gerenciamento do Modo Foco
  • Adição de novos props no componente AudioRecorder:
    • onFocusModeToggle
    • focusModeActive
    • onRecordingStart
    • onRecordingStop
  • Otimização de código com remoção de variáveis não utilizadas

Modificado

  • Atualizado o componente AudioRecorder para incluir tipagem correta e melhor gerenciamento de estado
  • Corrigido o gerenciamento de gravações no StoryPage com inicialização adequada de métricas
  • Melhorado o tratamento de erros e feedback do usuário durante a gravação
  • Otimizado o fluxo de upload e processamento de áudio

Técnico

  • Adicionada interface StoryRecording com todas as propriedades necessárias
  • Corrigido tipo do callback onAudioUploaded no AudioRecorder
  • Removidos imports não utilizados e variáveis redundantes
  • Implementada lógica de fallback para usuários não autenticados

Adicionado

  • Suporte para conversão de áudio WebM para MP3
  • Feedback visual durante o processamento do áudio
  • Inicialização de métricas zeradas para novas gravações

[1.2.0] - 2024-03-21

Adicionado

  • Novo Modo Foco para leitura e gravação
  • Estilos específicos para o Modo Foco
  • Timer de gravação no Modo Foco
  • Transições suaves entre modos
  • Controles flutuantes durante o Modo Foco
  • Documentação completa da estrutura do banco de dados em /docs/banco-dados.md:
    • Escolas e Classes
    • Sistema de Alunos
    • Histórias
    • Interesses
    • Sistema de Conquistas
    • Sistema Fonético completo
    • Relacionamentos e índices
    • Políticas de segurança
    • Triggers e funções
    • Considerações de performance

Modificado

  • Componente AudioRecorder atualizado para suportar Modo Foco
  • Interface do StoryPage reorganizada para Modo Foco
  • Comportamento de gravação integrado com Modo Foco
  • Melhorias na experiência do usuário durante a leitura

Técnico

  • Novo arquivo CSS para estilos do Modo Foco
  • Interface FocusMode para gerenciamento de estado
  • Callbacks de início e fim de gravação
  • Sistema de transição entre modos normal e foco
  • Otimização de performance para transições suaves
  • Atualização das definições de tabelas para refletir a estrutura atual do Supabase
  • Adição de diagramas ER para visualização dos relacionamentos
  • Documentação de índices e políticas de segurança
  • Inclusão de considerações de performance e backup

[1.3.0] - 2024-01-31

Adicionado

  • Suporte a múltiplos idiomas na geração de histórias:
    • Português (Brasil)
    • Inglês (EUA)
    • Espanhol (Espanha)
  • Nova etapa de seleção de idioma no fluxo de criação de história
  • Instruções específicas para cada idioma no prompt da IA

Modificado

  • Fluxo de geração de história para incluir seleção de idioma
  • Interface do gerador de histórias com novo passo de idioma
  • Adaptação do prompt da IA para considerar o idioma selecionado

Técnico

  • Adicionada constante LANGUAGE_OPTIONS com opções de idiomas suportados
  • Implementada validação de idioma antes da geração
  • Atualizado payload da Edge Function para incluir language_type
  • Melhorada tipagem para suporte a múltiplos idiomas

[1.4.0] - 2024-03-28

Adicionado

  • 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

  • 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
  • Corrigida tipagem das métricas de escrita para incluir competências do ENEM
  • Atualizados valores padrão das métricas de escrita

Modificado

  • Melhorado o layout da página de análise de redações:
    • Separação clara entre critérios gerais e competências do ENEM
    • Nova seção dedicada às competências do ENEM com layout aprimorado
    • Barras de progresso mais visíveis para as competências
    • Adicionadas descrições detalhadas para cada competência
    • Cards coloridos para justificativas das competências
    • Melhorias visuais nos critérios gerais de avaliação

[1.5.0] - 2024-03-19

Modificado

  • Aprimoramento no cálculo de métricas do dashboard do aluno:
    • Métricas agora são calculadas considerando todas as histórias e gravações do aluno
    • Adicionadas novas métricas detalhadas: pronúncia, precisão, compreensão, velocidade, pausas e erros
    • Melhorias na interface com tooltips explicativos para cada métrica
    • Separação entre dados para métricas (todas as histórias) e exibição (6 mais recentes)

Técnico

  • Refatoração da busca de dados no StudentDashboardPage:
    • Separação entre consulta de métricas e consulta de exibição
    • Otimização no cálculo de médias das métricas
    • Melhoria na organização do código com comentários explicativos

[Não publicado]

Adicionado

  • Novo gráfico de evolução das métricas na dashboard do aluno
    • Visualização combinada de linhas e barras
    • Métricas de fluência, pronúncia, precisão, compreensão e palavras por minuto
    • Gráfico de barras mostrando minutos lidos por semana
    • Botões interativos para filtrar métricas
    • Design moderno com gradientes e animações suaves
    • Tooltip personalizado com informações detalhadas
    • Agrupamento automático por semana
    • Layout responsivo e adaptável
    • Filtro de período com opções de 3, 6, 12 meses e todo período
    • Visualização padrão dos últimos 12 meses

Técnico

  • Implementação do Recharts para visualização de dados
  • Novo sistema de processamento de métricas semanais
  • Otimização do carregamento de dados com agrupamento eficiente
  • Integração com o tema existente do sistema
  • Sistema de filtragem temporal com conversão de datas
  • Componente MetricsChart extraído e modularizado
    • Interfaces e tipos bem definidos
    • Lógica de filtragem encapsulada
    • Estado interno gerenciado
    • Props minimalistas e bem tipadas
    • Componente reutilizável em outros contextos
  • Componentes de métricas extraídos e modularizados
    • Novo componente MetricCard para cards individuais
    • Novo componente DashboardMetrics para agrupamento
    • Configuração centralizada de métricas
    • Suporte a tooltips e ícones personalizados
    • Responsividade e acessibilidade melhoradas

Técnico

  • Normalização do JSON Schema da análise de redações para corresponder à estrutura do banco de dados
    • Reordenação dos campos para corresponder à estrutura das tabelas
    • Ajuste nas descrições dos campos para maior clareza
    • Alinhamento com as tabelas: essay_analyses, essay_analysis_feedback, essay_analysis_strengths e essay_analysis_improvements
    • Melhoria na validação dos dados com JSON Schema mais preciso

Técnico

  • Correção das políticas de segurança (RLS) para o sistema de análise de redações:
    • Simplificada a política de inserção para service_role
    • Adicionadas políticas para tabelas relacionadas (feedback, pontos fortes, melhorias e notas)
    • Melhorada a segurança com políticas específicas para cada operação
    • Corrigido erro de permissão na inserção de análises pela Edge Function

Técnico

  • Removidas restrições de validação do JSON Schema da análise de redações:
    • Removidos limites minimum e maximum dos campos numéricos
    • Removida restrição minItems dos arrays de pontos fortes e melhorias
    • Simplificada a validação para maior flexibilidade na Edge Function

Técnico

  • Corrigida consulta de análise de redações no componente EssayAnalysis:
    • Adicionado join com tabelas relacionadas (feedback, strengths, improvements, scores)
    • Implementada transformação dos dados para o formato esperado
    • Adicionado tratamento para valores nulos
    • Melhorada tipagem dos dados retornados

Modificado

  • Melhorado o fluxo de redações:
    • Corrigido carregamento do conteúdo da redação após envio para análise
    • Adicionado salvamento automático do conteúdo antes de enviar para análise
    • Melhorada visualização do status 'analisada' com badge verde
    • Adicionado botão "Ver Análise" para redações analisadas
    • Ajustado Editor para modo somente leitura após envio
    • Melhorada contagem de palavras em todos os estados da redação

Técnico

  • Refatorado componente EssayPage:
    • Adicionada lógica de salvamento antes do envio para análise
    • Melhorada query do Supabase para incluir conteúdo explicitamente
    • Implementado feedback visual durante operações de salvamento
    • Otimizado carregamento inicial da redação
    • Adicionado tratamento de estados para diferentes status da redação

[0.2.0] - 2024-03-21

Adicionado

  • Novos recursos de formatação no editor:
    • Tachado (strike-through)
    • Código inline
    • Lista com marcadores
    • Lista numerada
    • Citação (blockquote)
  • Rastreamento de eventos (tracking) em todos os botões do editor

Modificado

  • Melhorias no fluxo de redações:
    • Carregamento correto do conteúdo após submissão para análise
    • Salvamento automático do conteúdo antes da submissão
    • Badge verde para status "analisada"
    • Botão "Ver Análise" para redações analisadas
    • Editor em modo somente leitura após submissão
    • Contagem de palavras em todos os estados da redação

Técnico

  • Refatoração do componente Editor para incluir novos recursos de formatação
  • Adição de trackingId em todos os botões para análise de uso
  • Melhorias de acessibilidade com aria-labels em português
  • Refatoração do EssayPage para incluir lógica de salvamento antes da submissão para análise
  • Melhoria na query do Supabase para incluir conteúdo explicitamente
  • Implementação de feedback visual durante operações de salvamento
  • Otimização do carregamento inicial da redação
  • Adição de tratamento de estado para diferentes status da redação