Aplicação em Java 21 com Spring Boot que consome a API oficial do Cartola FC e expõe endpoints REST (com Swagger/OpenAPI), além de uma UI estática em src/main/resources/static/ para acompanhar ranking/estatísticas de uma liga via data/times.csv.
- API REST: endpoints para clubes, rodadas, mercado, times e atletas pontuados.
- Swagger/OpenAPI:
- Swagger UI:
http://localhost:8080/swagger-ui/index.html - OpenAPI JSON:
http://localhost:8080/v3/api-docs
- Swagger UI:
- Healthcheck para containers:
http://localhost:8080/actuator/health - UI (página inicial):
http://localhost:8080/
- Java 21
- (Opcional) Docker / Docker Compose
O projeto inclui Maven Wrapper (
./mvnw), então você não precisa ter Maven instalado.
./mvnw spring-boot:runSe a porta 8080 já estiver em uso, rode em outra porta:
./mvnw spring-boot:run -Dspring-boot.run.arguments=--server.port=8081docker build -t cartolafc .
docker run --rm -p 8080:8080 cartolafcdocker compose up --buildA API faz chamadas para
https://api.cartola.globo.com(incluiUser-Agentpadrão nas requisições).
- Clubes:
GET /clubes - Rodadas:
GET /rodadas - Mercado (status):
GET /mercado/status - Atletas pontuados:
GET /atletas/pontuados - Buscar time por nome:
GET /times?q={nome} - Time por ID:
GET /time/id/{id} - Time por ID e rodada:
GET /time/id/{id}/{rodada} - Parcial por rodada (capitão 1.5x):
GET /time/id/{id}/{rodada}/parcial - Pontos mensais (mês atual, apenas rodadas finalizadas):
GET /time/id/{id}/pontos-mensais
curl -s "http://localhost:8080/mercado/status"
curl -s "http://localhost:8080/clubes"
curl -s "http://localhost:8080/rodadas"
curl -s "http://localhost:8080/atletas/pontuados"
curl -s "http://localhost:8080/times?q=Sportv"
curl -s "http://localhost:8080/time/id/398396"
curl -s "http://localhost:8080/time/id/398396/2"
curl -s "http://localhost:8080/time/id/398396/2/parcial"
curl -s "http://localhost:8080/time/id/398396/pontos-mensais"- Explicação (arquitetura):
docs/explanation/architecture.md - Explicação (UI/CSV):
docs/explanation/frontend.md