📊 Refatoração do Sistema de Estatísticas do Formulário #47
FernandoAlmeidaPinto
started this conversation in
Features
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
🧠 Contexto
Atualmente, as estatísticas exibidas nas telas de Processo Seletivo e Turmas são baseadas em dados armazenados como JSON serializado em texto no PostgreSQL, contendo perguntas e respostas dos alunos.
Esse modelo surgiu quando:
Com a evolução do sistema:
🚨 Problemas Identificados
1. Falta de estrutura para análise
2. Acoplamento antigo com frontend
3. Responsabilidade mal distribuída
4. Baixa flexibilidade
🎯 Objetivo da Refatoração
Criar um sistema de estatísticas:
🧱 Proposta de Solução
🔹 1. Centralizar analytics no
vcnafacul-formO serviço
vcnafacul-formjá é responsável por:👉 Portanto, ele também será responsável por:
🔹 2. Introduzir configuração de analytics no
formfullCada snapshot de formulário (
formfull) terá sua própria configuração:🔹 3. Criar endpoint de analytics
GET /formfull/:id/analytics
🔹 4. Padronizar contrato de resposta
🔹 5. Agregação por tipo de pergunta
Cada tipo de pergunta terá uma estratégia própria:
boolean
option (single)
option (multiple / collection)
number
text
🎨 Frontend
Modo Visualização
/analyticschartTypeModo Edição
formfull.analyticsConfig📊 Definição de gráficos (Frontend)
⚙️ Cache
api-vcnafacul/analytics🚫 Fora do Escopo
🚫 Fora do Escopo
A reutilização do sistema de estatísticas para Turmas não será abordada nesta refatoração.
A análise de Turmas envolve um domínio diferente, baseado em:
Esses dados exigem um modelo próprio de analytics, que poderá ser tratado em uma futura iniciativa.
🚀 Evoluções Futuras
✅ Benefícios
❓ Pontos em Aberto
🧭 Próximos Passos
💬 Considerações Finais
Refatoração estrutural, não só visual.
All reactions