O frontend atual do Nefropapers é funcional, mas está tecnologicamente defasado, com estrutura baseada em arquivos HTML e JS puros, sem modularização, componentização, ou uso de framework moderno. Isso gera alta dependência de scripts duplicados, baixo reaproveitamento de código, ausência de estado reativo e dificuldade de manutenção à medida que o sistema cresce.
Por que refatorar:
Exemplo:
const id = localStorage.getItem("id");
fetch(`https://nefropapersapi.onrender.com/testes/${id}`)
.then((res) => res.json())
.then((data) => {
document.getElementById("nome-teste").innerHTML = data.nome;
});
Problemas: Código diretamente no DOM, acoplado ao localStorage, sem fallback ou tratamento de erros.
fetch(`https://nefropapersapi.onrender.com/usuarios/${id}`)
.then(res => res.json())
.then(user => {
document.getElementById("nome-usuario").innerText = user.nome;
});
Problemas: Padrão repetido em vários arquivos, sem abstração.
Tokens e dados sensíveis são manipulados diretamente no localStorage, expostos a XSS e vulnerabilidades de sessão.
Ausência de estrutura responsiva moderna, componentes reutilizáveis ou controle de estado.
Exemplo de refatoração:
// Antes:
fetch('https://api...')
.then(res => res.json())
.then(data => document.getElementById("x").innerHTML = data.y);
// Depois (React):
const {{ data }} = useQuery(['teste', id], () => api.getTeste(id));
return <h1>{{data.nome}}</h1>;
Página | Prioridade | Arquivo Atual | Novo Componente |
---|---|---|---|
Home | Alta | home.html / home.js | HomePage.tsx |
Login | Alta | index.html | LoginPage.tsx |
Detalhes | Média | detalhes.html | TestDetailsPage.tsx |
A refatoração do frontend do Nefropapers é necessária para garantir evolução, atrair desenvolvedores, melhorar manutenção e segurança. A stack atual dificulta testes, escalabilidade e manutenção contínua. Adotar React, modularização e validação segura é um passo fundamental.