Skip to content

Luizreis3d/Clash_Royale

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API-Atividade

Atenção Ao formato da data/hora. Atenção Aos Registros de Batalhos apenas as ultimas 30 são armazenas limitação da prorpia api do clash Royale. Portanto os registros são todos desse ano. Atenção Para rodar tudo certinho é necesario ter o MongoDb instalado o pc, trocar a chave da api do clash royale. Atenção ao criar a chave da api procure na internet o ip da sua rede, Atenção instalar as bibliotecas antes de rodas o codigo, Por ultimo se quiser usar os dados de batalha de outro jogador é preciso ou baixar os dados apartir da API, ou fazer uma requisição das batalhas pela api. PS: Já temos esse endpoint funcionando

Foi Criado uma varíavel de valores aleatórias para lidar com a duração das batalhas, variando de 2 à 5 minutos

Antes de Fazer qualquer consulta deve ser feito uma requisição. requisição essa com a função de pegar os dados da api e armazenar no banco MongoDB. Deve ser feito de seguinte forma.

Comandos de Setup do Projeto

Comando para instalar as dependencias do código

pip install requirements.txt

Comando para rodar o backend do projeto:

python clash.py

Daí, basta acessar o front-end pelo link https://brendogarcia.github.io/Clash_Royale/frontend/index.html

Requisições

http://127.0.0.1:5000/battlelog/<tag>

Onde o Campo TAG deve conter a tag do jogor com isso sera baixado os dados da ultimas 30 batalhas do player.

Exemplo de como deve ser feira;

http://127.0.0.1:5000/battlelog/202GY8C0YP

Exemplo de Uma Batalha: A consulta não esta completo porque ela é gigante.

 {
    "arena": {
      "id": 54000011,
      "name": "Spooky Town"
    },
    "battleTime": "20250403T175213.000Z",
    "deckSelection": "collection",
    "gameMode": {
      "id": 72000006,
      "name": "Ladder"
    },
    "isHostedMatch": false,
    "isLadderTournament": false,
    "leagueNumber": 1,
    "opponent": [
      {
    "team": [
      {,
        "crowns": 1,
        "elixirLeaked": 1.17,
        "globalRank": null,
        "kingTowerHitPoints": 4392,
        "name": "IceBee2007",
        "princessTowersHitPoints": null,
        "startingTrophies": 3898,
        "supportCards": [
          {
            "iconUrls": {
              "medium": "https://api-assets.clashroyale.com/cards/300/MVj028nMLCmBuP3HlV503uxVAxFg7jyliJVZ5JYJ1h8.png"
            },
            "id": 159000002,
            "level": 2,
            "maxLevel": 6,
            "name": "Dagger Duchess",
            "rarity": "legendary"
          }
        ],
        "tag": "#202GY8C0YP",
        "trophyChange": -30
      }
    ],
    "type": "PvP"
  }

Consultas Solicitadas: Descrição: Este endpoint retorna a taxa de vitória de um card específico dentro de um intervalo de tempo definido.

URL:http://127.0.0.1:5000/winrate

Parâmetros:

card_name | String |Sim | Nome do card para o qual deseja obter a taxa de vitória |
start_time| String |Sim | Data e hora de início do intervalo de busca             |
end_time  | String |SIM |Data e hora de fim do intervalo de busca                 |

Exemplo de Uso.

http://127.0.0.1:5000/winrate?card_name=Witch&start_time=2025-01-01T00:00:00&end_time=2025-04-01T23:59:59

Exemplo de Resposta:

{
  "card_name": "Balloon",
  "end_time": "2025-04-01T23:59:59",
  "start_time": "2025-01-01T00:00:00",
  "total_battles": 14,
  "total_wins": 8,
  "win_rate": 57.14285714285714
}

About

Projeto da 1ª avaliação da disciplina de Banco de Dados não relacionais do semestre 2025.1 de ADS do SenacPE.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 59.0%
  • HTML 19.5%
  • CSS 12.6%
  • JavaScript 8.9%