Skip to content

Instantly share code, notes, and snippets.

@argentinaluiz
Last active November 26, 2022 01:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save argentinaluiz/aeff544d8537d14c3e0d366ea3c30617 to your computer and use it in GitHub Desktop.
Save argentinaluiz/aeff544d8537d14c3e0d366ea3c30617 to your computer and use it in GitHub Desktop.
cartola fc

Python

cadastro do jogo (match)

  • enviar um evento
{
  "id": 1,
  "match_date": "2022-11-11T10:00",
  "team_a_id": 1,
  "team_a_name": "Brasil",
  "team_b_id": 2,
  "team_b_name": "Alemanha"
}

my team - escalar jogadores

  • enviar um evento
[{ "player_id": 1 }, { "player_id": 2 }, { "player_id": 3 }]

jogadores

  • enviar um evento

id, name, initial_price

{
  "id": 1,
  "name": "Neymar",
  "initial_price": 100
}

novo placar

  • enviar um evento

Novo placar do jogo Brasil 1 - 0 Alemanha

{
    match_id: 1,
    result: "1-0"
}

ações do jogo

  • enviar um evento

Toda ação valoriza/desvaloriza o my-team e o jogador

Exemplo:

  • Neymar faz um gol, valoriza +5pts no price dele e no patrimônio do my-team
  • Neymar faz uma falta, desvaloriza -5pts no price dele e no patrimônio do my-team
{
    match_id: 1,
    team_id: 1,
    player_id: 1,
    minutes: 10,
    action: 'assist | goal | yellow card | red card' # gol/assistência gera pontos positivos, outros negativos
}

Golang

Endpoints

/my-teams/1/balance

{ "balance": 100 }

/players

[
  {
    "id": 1,
    "name": "Messi",
    "price": 35
  },
  {
    "id": 4,
    "name": "Vinicius Junior",
    "price": 25
  },
  {
    "id": 5,
    "name": "Harry Kane",
    "price": 15
  },
  {
    "id": 6,
    "name": "Richarlison",
    "price": 15
  }
]

/my-teams/1/players

[
  {
    "id": 1,
    "name": "Messi",
    "price": 35
  },
  {
    "id": 4,
    "name": "Vinicius Junior",
    "price": 25
  },
  {
    "id": 5,
    "name": "Harry Kane",
    "price": 15
  },
  {
    "id": 6,
    "name": "Richarlison",
    "price": 15
  }
]

/my-teams/1/matches

[
  {
    "id": 1,
    "my_team_id": 1,
    "match_date": "2022-11-11T10:00",
    "team_a_id": 1,
    "team_a_name": "Brasil",
    "team_b_id": 2,
    "team_b_name": "Alemanha",
    "result": "1-0",
    "score": 100,
    "actions": [
      {
        "player_id": 1,
        "player_name": "Neymar",
        "minutes": 10,
        "action": "goal",
        "score": 5
      },
      {
        "player_id": 1,
        "player_name": "Neymar",
        "minutes": 20,
        "action": "yellow card",
        "score": -5
      }
    ]
  },
  {
    "id": 2,
    "my_team_id": 2,
    "match_date": "2022-11-11T10:00",
    "team_a_name": "Brasil",
    "team_b_name": "Alemanha",
    "result": "1-0",
    "score": 100,
    "actions": [
      {
        "player_id": 1,
        "player_name": "Neymar",
        "action": "goal",
        "score": 5
      },
      {
        "player_id": 1,
        "player_name": "Neymar",
        "action": "yellow card",
        "score": -5
      }
    ]
  }
]

/my-teams/1/matches/:match_id (pegar apenas um match)

Dias das aulas

  • introdução - python
  • golang
  • golang-kafka
  • front-end

  • kubernetes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment