Plataforma web moderna para validação automática de código com suporte a JavaScript e Python, oferecendo feedback em tempo real e interface intuitiva.
Editor de código online com validação automática, syntax highlighting e suporte multi-linguagem.
Code Validator é uma plataforma web que permite aos desenvolvedores escrever, validar e testar código diretamente no navegador, sem necessidade de instalar ferramentas localmente.
- ✅ Validação em tempo real - Feedback instantâneo sobre erros de sintaxe
- ✅ Multi-linguagem - Suporte para JavaScript e Python (mais linguagens em breve)
- ✅ Interface profissional - Editor Monaco (mesmo do VS Code)
- ✅ Sem instalação - Roda 100% no navegador
- ✅ Syntax highlighting - Cores e indentação automáticas
- ✅ Ideal para aprendizado - Perfeito para estudantes testarem código rapidamente
- ✅ Monaco Editor integrado (engine do VS Code)
- ✅ Syntax highlighting avançado
- ✅ Auto-complete e sugestões inteligentes
- ✅ Indentação automática
- ✅ Múltiplas linguagens (JavaScript, Python)
- ✅ Temas (claro e escuro)
- ✅ Validação em tempo real
- ✅ Detecção de erros de sintaxe
- ✅ Mensagens de erro claras
- ✅ Sugestões de correção
- ✅ Análise estática de código
- ✅ Design moderno e responsivo
- ✅ Painel de resultados
- ✅ Seletor de linguagem
- ✅ Botões de ação rápida
- ✅ Feedback visual de status
- React - Biblioteca UI
- Monaco Editor - Editor de código (VS Code)
- Tailwind CSS - Estilização moderna
- Vite - Build tool rápido
- Node.js - Runtime JavaScript
- Express - Framework web
- Child Process - Execução de código Python
- ESLint - Validação JavaScript
- Axios - Cliente HTTP
- React Icons - Ícones
- CORS - Controle de acesso
- Node.js 18+
- Python 3.8+ (para validação Python)
- npm ou yarn
- Clone o repositório
git clone https://github.com/DiegoRapichan/code_validator.git
cd code_validator/backend- Instale dependências
npm install- Configure variáveis de ambiente
cp .env.example .env.env:
PORT=3001
NODE_ENV=development
ALLOWED_ORIGINS=http://localhost:5173- Inicie o servidor
npm run devBackend rodando em http://localhost:3001
- Entre na pasta frontend
cd ../frontend- Instale dependências
npm install- Configure variáveis de ambiente
cp .env.example .env.env:
VITE_API_URL=http://localhost:3001- Inicie o app
npm run devFrontend rodando em http://localhost:5173
Escolha entre JavaScript ou Python no seletor superior.
Digite ou cole seu código no editor Monaco.
Exemplo JavaScript:
function soma(a, b) {
return a + b;
}
console.log(soma(5, 3)); // 8Exemplo Python:
def soma(a, b):
return a + b
print(soma(5, 3)) # 8Clique em "Validar Código" e veja o resultado:
- ✅ Código válido - Mensagem de sucesso em verde
- ❌ Código inválido - Erros detalhados em vermelho
http://localhost:3001/api
POST /api/validate/javascript
Content-Type: application/json
{
"code": "function soma(a, b) { return a + b; }"
}Resposta (200):
{
"valid": true,
"message": "Código JavaScript válido!",
"errors": []
}Resposta (400):
{
"valid": false,
"message": "Erros encontrados no código",
"errors": [
{
"line": 1,
"column": 10,
"message": "Unexpected token }"
}
]
}POST /api/validate/python
Content-Type: application/json
{
"code": "def soma(a, b):\n return a + b"
}code_validator/
├── backend/
│ ├── src/
│ │ ├── controllers/
│ │ │ └── validatorController.js
│ │ ├── routes/
│ │ │ └── validatorRoutes.js
│ │ ├── utils/
│ │ │ ├── jsValidator.js
│ │ │ └── pyValidator.js
│ │ ├── app.js
│ │ └── server.js
│ ├── .env.example
│ └── package.json
│
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── CodeEditor.jsx
│ │ │ ├── LanguageSelector.jsx
│ │ │ └── ResultPanel.jsx
│ │ ├── App.jsx
│ │ └── main.jsx
│ ├── .env.example
│ └── package.json
│
└── README.md
- Suporte a mais linguagens (TypeScript, PHP, Ruby)
- Execução de código (não só validação)
- Salvar snippets de código
- Compartilhamento de código via link
- Histórico de validações
- Autenticação de usuários
- Biblioteca de snippets pública
- Temas customizáveis
- Integração com GitHub
- API pública para desenvolvedores
- Suporte a testes unitários
Contribuições são muito bem-vindas! Para contribuir:
- Fork o projeto
- Crie uma branch (
git checkout -b feature/NovaFeature) - Commit suas mudanças (
git commit -m 'Adiciona NovaFeature') - Push para a branch (
git push origin feature/NovaFeature) - Abra um Pull Request
- Adicionar suporte a novas linguagens
- Melhorar mensagens de erro
- Otimizar performance
- Adicionar testes automatizados
- Melhorar UI/UX
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para detalhes.
Diego Rapichan
- GitHub: @DiegoRapichan
- LinkedIn: Diego Rapichan
- Email: direrapichan@gmail.com
⭐ Se este projeto foi útil, considere dar uma estrela!
Desenvolvido por Diego Rapichan




