⚽ ScoutMatch
ScoutMatch é uma aplicação full stack que realiza o match entre jogadores de futebol e times, com base em critérios como posição, perna boa, estilo de jogo, skill e faixa etária.
⸻
🚀 Tecnologias
🖥️ Backend • Java 17 • Spring Boot 3 • Spring Data JPA • H2 Database (em memória) • Postman (para testes da API)
🌐 Frontend • React • Vite • Tailwind CSS • Fetch API (requisições HTTP) • React Hooks (useState, useEffect)
⸻
- Clone o repositório
git clone https://github.com/thiago1187/ScoutMatch.git cd ScoutMatch
- Abra o projeto na sua IDE
(IntelliJ, VS Code, etc.)
- Execute a aplicação backend • Via terminal:
./mvnw spring-boot:run
• Ou rode a classe ScoutMatchApplication.java na sua IDE
A aplicação estará disponível em: 👉 http://localhost:8080
⸻
- Execute o frontend
cd frontend npm install npm run dev
O frontend estará disponível em: 👉 http://localhost:5173
⸻
📫 Endpoints da API
🔹 Criar Jogador
POST /jogadores
{ "nome": "Thiago Silva", "posicao": "Zagueiro", "pernaBoa": "Direita", "melhorSkill": "Cabeceio", "estiloDeJogo": "Defensivo", "idade": 39 }
⸻
🔹 Criar Time
POST /times
{ "nome": "FC Recife", "posicaoDesejada": "Zagueiro", "pernaDesejada": "Direita", "skillDesejada": "Cabeceio", "estiloProcurado": "Defensivo", "minIdade": 30, "maxIdade": 40 }
⸻
🔹 Ver Matches de um Time
GET /times/{id}/matches
Exemplo de retorno:
[ { "nome": "Thiago Silva", "compatibilidade": 5, "resumo": "Muito compatível: posição, perna, skill, estilo, idade combinam com o time" }, { "nome": "Outro Jogador", "compatibilidade": 3, "resumo": "Compatível: posição, estilo, idade combinam com o time" } ]
⸻
🧠 Lógica de Match
A compatibilidade é calculada com base em até 5 critérios: • ✅ Posição • ✅ Perna boa • ✅ Melhor skill • ✅ Estilo de jogo • ✅ Faixa etária (mínima e máxima)
Cada critério compatível soma 1 ponto. O sistema retorna os jogadores ordenados pela pontuação de compatibilidade, com um resumo explicativo.
⸻
👨💻 Autor
Desenvolvido por Thiago Macena