Arquitetura e Fluxos
Visão geral
O sistema PESA é uma aplicação web com múltiplas páginas HTML, scripts JS compartilhados e persistência local no navegador.
- **Camada de domínio/analytics:** `Untitled-1.js`
- Modelos de entidade, regras de risco, classificação e score.
- **Camada de apresentação:** páginas HTML (dashboards, centro de alertas, predição, trajetória etc.).
- **Persistência local:** `localStorage` (estudantes, critérios, regras contextuais, intervenções, e-mails, snapshots).
- **Serviços externos/opcionais:**
- API de recomendações e plano de ação (`/api/recomendacoes/gerar`, `/api/planos/visualizar/...`).
- Geocodificação (Nominatim/ViaCEP).
Principais chaves de armazenamento local
- `pesaEstudantes`: base principal de estudantes.
- `pesaCriterios`: parâmetros de critérios globais.
- `pesaRegrasContexto`: regras contextuais de limiares de score.
- `pesaCoordenadores`: contatos por curso para apoio ao Centro de Alertas.
- `pesaResumoImportacao`: resumo da última importação.
- (outras chaves específicas por tela: inscrições de e-mail, snapshots temporais etc.)
Fluxos principais
1) Importação de dados
Arquivo: `index.html`
- Usuário importa JSON/CSV/XLSX.
- Sistema normaliza e consolida estudantes (chave por `UC` ou `id`).
- Persiste em `pesaEstudantes`.
- Recarrega a aplicação para recalcular painéis.
2) Cálculo de risco e classificação
Arquivo: `Untitled-1.js`
- `LearningAnalyticsAgente` processa estudantes.
- Calcula score e gatilhos (engajamento, financeiro, frequência, N1).
- Define `nivel` (`critica`, `alta`, `media`, `baixa`) com score + regras contextuais.
- Exibe resultados em páginas como Centro de Alertas e Predição.
3) Centro de Alertas
Arquivo: `centro-alertas.html`
- Lê critérios + regras contextuais (`pesaRegrasContexto`).
- Chama `gerarAlertasComNivel(...)`.
- Permite filtrar, exportar CSV, abrir trajetória e plano de ação.
- Registra intervenções e atualiza histórico local.
4) Trajetória do estudante
Arquivo: `trajetoria-estudante.html`
- Carrega estudante por `id` na query string.
- Exibe score atual, faixa, evolução e eventos.
- Permite editar/salvar regras contextuais no navegador.
- Na ausência de regras, pode gerar regras iniciais com base nos cursos existentes.
5) Recomendação e plano de ação
Arquivos: `centro-alertas.html`, `predicao-risco-perfil.html`, `backend/templates/plano-acao.html`
- Recomendação:
- Chamada de API para gerar recomendações.
- Fallback local quando API estiver indisponível.
- Plano:
- Link para `/api/planos/visualizar/:aluno_id` com query params.
- Parâmetros opcionais só são enviados quando válidos.