Sistema completo e dinĂąmico que analisa se jogos da Steam rodam no seu PC comparando os requisitos com benchmarks de hardware reais.
- â API REST completa - Use com qualquer CPU/GPU/RAM
- â Banco de ~2000 componentes - CPUs e GPUs catalogadas
- â Algoritmo inteligente - Detecção automĂĄtica de hardware nos requisitos
- â Sistema de pesos balanceado - GPU 60%, CPU 30%, RAM 10%
- â Validação de qualidade - Penaliza matches ruins automaticamente
- â Interface React - Frontend moderno com Tailwind CSS
- â Gerador de lista - Crie JSONs com anĂĄlise de 2000 jogos
# Backend (API)
cd backend
npm install
npm start # Servidor em http://localhost:3001
# Frontend (React)
cd frontend
npm install
npm run dev # Interface em http://localhost:5173
# Gerar lista de jogos
cd backend
npm run generate "Seu CPU" "Sua GPU" RAM# Analisar um jogo
curl -X POST http://localhost:3001/api/analyze \
-H "Content-Type: application/json" \
-d '{
"cpu": "Intel Core i5-9400F",
"gpu": "GTX 1660",
"ram": 16,
"requirements": "i5-8400, 16GB, RTX 2060"
}'
# Buscar hardware
curl "http://localhost:3001/api/hardware/search?q=rtx&type=gpu"Ver mais: USAGE.md | backend/README.md
- Hardware nĂŁo encontrado nos CSVs: Agora o sistema penaliza adequadamente quando nĂŁo consegue identificar CPU/GPU nos requisitos
- Jogos pesados marcados como compatĂveis: Ajustados os pesos e thresholds para ser mais rigoroso
- Detecção de hardware melhorada: Regex expandidas para capturar mais variaçÔes de nomes
- GPU: 60% (era 45%) - GPU Ă© o componente mais crĂtico para jogos modernos
- CPU: 30% (era 40%)
- RAM: 10% (era 15%)
O sistema agora verifica a qualidade da similaridade de string:
- Match < 0.4: Penalização pesada (70-80%)
- Match < 0.6: Penalização moderada (40-50%)
- Match ruim em GPU: Penalização ainda maior (GPU Ă© crĂtica)
- 80%+: Roda liso (Ultra) - era 85%
- 65%+: Roda suave (Médio) - era 70%
- 45%+: Roda com gargalo - era 55%
- < 45%: Provavelmente nĂŁo roda
- CPU ratio < 0.5: Penalização de 60%
- GPU ratio < 0.5: Penalização de 70%
- GPU ratio < 0.3: Penalização adicional de 50%
- RAM < 80%: Penalização de 40%
CPU: Agora detecta:
- Intel: i3/i5/i7/i9 (vårias geraçÔes)
- AMD: Ryzen 3/5/7/9, FX, Phenom
- VariaçÔes com letras (K, F, X, etc)
GPU: Agora detecta:
- NVIDIA: RTX, GTX, GeForce
- AMD: RX, Radeon (HD, RX, R5/R7/R9), Vega
- Intel: UHD, HD, Iris, Arc
- VariaçÔes: Ti, Super, XT, GRE
Com PC: Intel Core i5-4460 / GT 630 / 12GB RAM
| Jogo | Requisitos | Score Antigo | Score Novo | Status |
|---|---|---|---|---|
| Battlefield 6 | RTX 2060 | 22% | 14% | â NĂŁo roda |
| Hogwarts Legacy | GTX 960 | 34% | 23% | â NĂŁo roda |
| Red Dead 2 | GTX 770 | 43% | 31% | â NĂŁo roda |
| Dota 2 | GeForce 8600 | 87% | 79% | â Roda suave |
| Counter-Strike 2 | (sem GPU especĂfica) | 55% | 19% |
cd backend
npm install
npm start # produção
npm run dev # desenvolvimento com hot-reloadO servidor estarĂĄ disponĂvel em http://localhost:3001
# Terminal 1: Iniciar servidor
npm start
# Terminal 2: Testar endpoints
npm run test-apicurl -X POST http://localhost:3001/api/analyze \
-H "Content-Type: application/json" \
-d '{
"cpu": "Intel Core i5-9400F",
"gpu": "GTX 1660",
"ram": 16,
"requirements": "Intel Core i5-8400, 16GB RAM, RTX 2060"
}'curl -X POST http://localhost:3001/api/analyze-games \
-H "Content-Type: application/json" \
-d '{
"cpu": "AMD Ryzen 5 3600",
"gpu": "RTX 3060",
"ram": 16,
"games": [
{"name": "Cyberpunk 2077", "requirements": "i7-4790, 12GB, GTX 1060"},
{"name": "Minecraft", "requirements": "i3-3210, 4GB, Intel HD 4000"}
]
}'# Buscar GPUs
curl "http://localhost:3001/api/hardware/search?q=rtx&type=gpu"
# Buscar CPUs
curl "http://localhost:3001/api/hardware/search?q=ryzen%205&type=cpu"Para gerar um arquivo games_compatibility.json com 2000 jogos:
# Usar hardware padrĂŁo (i5-4460, GT 630, 12GB)
npm run generate
# Ou especificar seu hardware:
npm run generate "AMD Ryzen 7 5800X" "RTX 3080" 32
# Ou com limite de jogos:
npm run generate "Intel Core i7-9700K" "GTX 1660 Ti" 16 500backend/
âââ src/
â âââ index.js # Servidor Express API
â âââ analyze.js # LĂłgica de compatibilidade
â âââ utils.js # FunçÔes auxiliares
â âââ scrapeSteam.js # Web scraping Steam
â âââ generate-games-json.js # Gerar JSON com jogos
â âââ test.js # Testes de anĂĄlise
â âââ test-api.js # Testes da API
âââ data/
â âââ CPU_UserBenchmarks.csv
â âââ GPU_UserBenchmarks.csv
âââ games_compatibility.json # Gerado pelo script
Analisa a compatibilidade de um jogo especĂfico.
Request:
{
"cpu": "Intel Core i5-9400F",
"gpu": "GTX 1660",
"ram": 16,
"requirements": "Intel Core i5-8400, 16GB RAM, RTX 2060"
}Response:
{
"user": {
"cpu": "Intel Core i5-9400F",
"gpu": "GTX 1660",
"ram": 16
},
"compatibility": {
"score": 45,
"status": "â ïž Roda com gargalo",
"color": "orange",
"details": {
"cpuName": "intel core i5-8400",
"gpuName": "rtx 2060",
"ramReq": 16,
"cpuRatio": 1.12,
"gpuRatio": 0.42
}
}
}Analisa mĂșltiplos jogos de uma vez.
Request:
{
"cpu": "AMD Ryzen 5 3600",
"gpu": "RTX 3060",
"ram": 16,
"games": [
{ "name": "Game 1", "requirements": "..." },
{ "name": "Game 2", "requirements": "..." }
]
}Busca hardware disponĂvel no banco de dados.
Query Parameters:
q: Termo de buscatype:cpuougpu
Response:
{
"query": "rtx",
"type": "gpu",
"matches": [
{ "name": "nvidia rtx 4090", "benchmark": 155 },
{ "name": "nvidia rtx 4080", "benchmark": 122 }
]
}Lista hardware disponĂvel (sample de 100 itens).
Verifica status do servidor.
- Fallback para hardware desconhecido: Usar anĂĄlise de texto (ex: "2.8 GHz" â estimar performance)
- Requisitos Recomendados: Analisar tambĂ©m os requisitos recomendados, nĂŁo sĂł mĂnimos
- Benchmark API real: Usar API do UserBenchmark para dados sempre atualizados
- Machine Learning: Treinar modelo com dados reais de performance
- ConfiguraçÔes do usuårio: Permitir ajustar o "otimismo" do sistema
- Node.js + Express
- Cheerio (web scraping)
- CSV Parse (parsing de benchmarks)
- String Similarity (matching de hardware)
- React + Vite + Tailwind (frontend)