Avaliação do Sistema de Conteúdo — Você na Facul #58
FernandoAlmeidaPinto
started this conversation in
Ideas
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.
Prioridade: Baixa
Escopo: Análise end-to-end do fluxo de conteúdo educacional, da criação à entrega ao aluno
Serviços analisados:
ms-simulado,api-vcnafacul,client-vcnafacul1. Visão geral do que existe hoje
O sistema de conteúdo educacional da plataforma é composto por dois grandes blocos que, de forma bastante deliberada, já foram unificados dentro do
ms-simulado: o banco de questões e os materiais de estudo (conteúdos). Essa decisão arquitetural — migrar o conteúdo daapi-vcnafaculpara o microserviço de simulado — é o passo mais importante já dado nessa direção, pois coloca questões e conteúdos no mesmo contexto de dados, abrindo caminho para a integração que ainda precisa ser construída.1.1 Organização hierárquica
O conteúdo é organizado seguindo exatamente a mesma hierarquia das questões:
Essa estrutura é intencional e correta: permite que questão e conteúdo habitem o mesmo universo de classificação, o que é o pré-requisito para qualquer integração futura entre as duas entidades.
1.2 O fluxo de produção de conteúdo (pipeline editorial)
O conteúdo percorre um ciclo de vida bem definido, com papéis separados:
Etapa 1 — Criação da demanda
Um gestor (
gerenciadorDemanda) cria a "casca" do conteúdo: define título, descrição, e posiciona na hierarquia (Matéria > Frente > Subject). O conteúdo nasce com statusPending_Upload— existe no sistema, mas ainda não tem arquivo.Etapa 2 — Upload do arquivo
Um colaborador com permissão
uploadDemandarecebe a demanda e faz o upload de um arquivo.docx. O arquivo é enviado aoapi-vcnafacul, que o armazena no Azure Blob Storage numa estrutura de diretórios que espelha a hierarquia do conteúdo ({matéria}/{frente}/{subject}/{título}/{arquivo}). Uma referência (FileContent) é criada no ms-simulado apontando para a chave do blob, e o status do conteúdo muda paraPending.Etapa 3 — Revisão e aprovação
Um revisor com permissão
validarDemandaacessa o conteúdo, visualiza o arquivo no modal e decide: aprova (Approved) ou rejeita (Rejected). Conteúdo aprovado fica visível; rejeitado pode ser resetado paraPending_Uploadpara reenvio.Etapa 4 — Ajustes pós-aprovação
Existe um sistema de propostas de ajuste: qualquer usuário com
uploadDemandapode submeter uma versão corrigida do arquivo sem sobrescrever o original. O revisor analisa a proposta e, se aprovada, o arquivo principal do conteúdo é substituído pelo da proposta. Todo esse histórico é registrado noContentFileHistory.1.3 Permissões do sistema
gerenciadorDemandauploadDemandavalidarDemanda1.4 Analytics de conteúdo
Existe um job diário (cron à meia-noite) que registra um snapshot dos contadores de status (
Pending_Upload,Pending,Approved,Rejected). Esses snapshots alimentam um gráfico de linha na página de analytics, permitindo acompanhar a evolução do volume de conteúdo ao longo do tempo. Há também uma visão agrupada por matéria/frente com os totais por status.2. O que está bem
Pipeline editorial robusto
A separação de papéis entre quem cria a demanda, quem sobe o arquivo e quem aprova é uma escolha acertada. Em plataformas educacionais com múltiplos colaboradores, essa distinção evita que conteúdo sem revisão chegue ao aluno. O modelo é semelhante ao que sistemas de CMS maduros adotam.
Sistema de propostas de ajuste
O mecanismo de
AdjustmentProposalé sofisticado e resolve um problema real: como corrigir conteúdo aprovado sem perder o histórico e sem criar caos. A proposta cria uma versão paralela que só substitui o original após aprovação explícita, usando transação de banco para garantir consistência. É uma das partes mais bem pensadas do sistema.Auditoria completa
O
ContentFileHistoryregistra cada troca de arquivo com fonte (upload inicial ou proposta aprovada), autor e data. Isso é fundamental para rastreabilidade em um ambiente com múltiplos colaboradores.Hierarquia compartilhada com questões
Como mencionado, o fato de conteúdo e questões compartilharem a mesma árvore Matéria → Frente → Subject é o alicerce correto para a integração entre as duas entidades. Esse trabalho já foi feito na migração para o
ms-simuladoe não deve ser subestimado.Reordenação manual
Existe um endpoint e uma interface para reordenar conteúdos dentro de um subject via drag-and-drop. Pequeno detalhe, mas importante para que os colaboradores possam sequenciar o material de forma pedagógica.
3. O que pode melhorar
3.1 A experiência de consumo do aluno é o ponto cego do sistema
Toda a atenção de design foi dada ao lado da produção (gestores, uploaders, revisores). O lado do consumo — como o aluno estuda o conteúdo aprovado — ficou em segundo plano.
Hoje, o aluno recebe um arquivo
.docxpara ler num modal do browser. Isso é problemático:3.2 Não há uma interface de estudo dedicada para o aluno
Analisando as páginas do
client-vcnafacul, o fluxo de conteúdo existe no dashboard administrativo, mas não há uma página de estudo estruturada para o aluno. Falta uma tela onde o aluno entra, navega pela hierarquia (Matéria > Frente > Subject), encontra os conteúdos aprovados daquele tema e os lê de forma organizada dentro da plataforma.Sem essa página, o conteúdo aprovado existe no banco de dados mas não tem um destino claro na jornada do aluno.
3.3 Formato único (.docx) cria fricção desnecessária
Aceitar apenas
.docxlimita bastante o que pode ser publicado e como é consumido. Materiais educacionais circulam em muitos formatos, e forçar a conversão para DOCX antes do upload cria trabalho extra para os colaboradores. Além disso:3.4 A integração questão ↔ conteúdo ainda não foi construída
A migração para o
ms-simuladoeliminou a barreira arquitetural entre questões e conteúdo. Agora ambos compartilham o mesmo banco e a mesma hierarquia de classificação. Mas a integração ainda não foi materializada na experiência do usuário.O caso de uso mais óbvio e valioso: quando o aluno erra uma questão de Funções Quadráticas no simulado, a plataforma poderia mostrar "Quer revisar esse tema?" e abrir diretamente o conteúdo aprovado de Funções Quadráticas. Esse link já é possível — os dados estão nos mesmos lugares — mas ainda não foi conectado.
Outros casos de uso que a coexistência no ms-simulado viabiliza:
3.5 A demanda nasce de cima para baixo — o aluno não participa
O fluxo atual é: gestor decide o que produzir → colaborador sobe o arquivo → revisor aprova. O aluno é um receptor passivo de decisões tomadas internamente.
Não há nenhum mecanismo para que o aluno sinalize quais temas precisam de material, nem para que a plataforma oriente a produção com base em onde os alunos mais erram. A priorização do que produzir é, atualmente, arbitrária do ponto de vista dos dados.
3.6 Analytics medem produção, não aprendizado
Os snapshots diários e os gráficos de analytics respondem perguntas operacionais importantes: quantos conteúdos estão aprovados, quantos estão pendentes, como o volume está evoluindo. São métricas de gestão do pipeline.
Mas não há nenhuma métrica que responda: os alunos estão acessando o conteúdo? Quanto tempo passam lendo? Conteúdos de quais frentes são mais buscados? E a pergunta mais importante: alunos que estudaram o conteúdo de uma frente melhoram nas questões daquela frente nos simulados seguintes?
Sem essa camada, é impossível saber se o investimento em produção de conteúdo está gerando aprendizado.
4. Sugestões de melhoria
4.1 Curto prazo — melhorar o consumo sem mudar a arquitetura
Suportar PDF além de DOCX
É a mudança de maior impacto com menor esforço. PDF renderiza nativamente no browser com
<embed>ou<iframe>, é responsivo, funciona bem no mobile, e é o formato em que a maioria dos materiais educacionais já existe. Bastaria adicionar.pdfcomo extensão aceita no upload e ajustar o componente de preview.Criar a página de estudo do aluno
Uma tela
/estudarorganizada pela hierarquia Matéria > Frente > Subject, mostrando os conteúdos aprovados de cada tema. Design simples: lista de temas na lateral, conteúdo aberto à direita (ou tela cheia no mobile). Sem necessidade de infraestrutura nova — os dados já existem via endpoints disponíveis.Melhorar o viewer de conteúdo
Independente do formato, o conteúdo deve abrir em uma experiência de leitura dedicada (página própria ou modal em tela cheia), não em um modal pequeno dentro do dashboard. Em mobile, deve ocupar toda a tela com scroll confortável.
4.2 Médio prazo — conectar questão e conteúdo
Link direto da questão errada para o conteúdo do tema
Na tela de revisão do simulado, ao ver uma questão que errou, o aluno vê: "Material de estudo disponível para este tema" → link para o conteúdo aprovado daquela Frente/Subject. A lógica é direta: pegar a
frenteda questão, buscar conteúdos aprovados com aquela frente, exibir o link.Recomendação de conteúdo no dashboard
Com base nas frentes com menor taxa de acerto do aluno nos últimos simulados, o dashboard sugere: "Você tem dificuldade em Geometria Espacial — há 2 materiais disponíveis para este tema." Novamente, os dados para isso já existem no mesmo banco.
Conteúdo relacionado na página de estudo
Ao ler o conteúdo de um tema, mostrar na lateral: "Questões disponíveis neste tema" — permitindo que o aluno pratique imediatamente após estudar o material.
4.3 Médio prazo — conteúdo nativo (sem arquivo)
Além de arquivos, permitir que conteúdo seja criado diretamente na plataforma com o editor TipTap que já está instalado no projeto e em uso nas redações. Um resumo escrito inline, com formatação, imagens e links, seria mais acessível do que um arquivo DOCX, mais rápido de produzir para colaboradores, e muito mais fácil de consumir no mobile.
O modelo seria: conteúdo pode ter um
file(como hoje) ou umbody(texto rico armazenado como JSON/Markdown). Os dois podem coexistir — material complementar em texto + apostila em PDF, por exemplo.4.4 Médio prazo — demanda orientada por dados
Cruzar automaticamente duas informações que já estão no ms-simulado:
O resultado é uma lista priorizada de demandas: "Geometria Espacial tem 68% de taxa de erro e zero conteúdos aprovados — alta prioridade." Em vez de o gestor decidir o que produzir por intuição, o sistema orienta com dados. Essa funcionalidade poderia aparecer como uma sugestão na tela de criação de demanda ou como um painel separado para gestores.
4.5 Longo prazo — métricas de aprendizado
Registrar eventos de consumo de conteúdo: qual conteúdo foi aberto, por qual aluno, por quanto tempo. Com esses dados, é possível:
5. Síntese
O sistema de conteúdo tem uma base sólida — a decisão de migrar tudo para o
ms-simuladofoi a certa, e o pipeline editorial está bem construído. O próximo ciclo de desenvolvimento nessa área deve focar menos em gestão e mais em consumo: criar a experiência de estudo do aluno e conectar o conteúdo produzido à jornada de quem usa a plataforma para aprender.All reactions