Artur Zorron
https://poke-trader-back.herokuapp.com
Ruby on Rails
MongoDB
Coluna | Tipo | Dado |
---|---|---|
player1 | string | concantenação dos pokemons do player 1 |
player2 | string | concantenação dos pokemons do player 2 |
baseexp1 | integer | soma dos "base_experience" dos pokemons do player 1 |
baseexp2 | integer | soma dos "base_experience" dos pokemons do player 2 |
fair | boolean | booleano indicando se a troca foi justa ou não |
Requisição | Endereço | Método | Função |
---|---|---|---|
POST | "/trades" | trades#create | cria dentro banco de dados a troca realizada no frontend |
GET | "/" | trades#index | lista todos trocas realizadas que estão salvas no banco de dados |
- Recebe requisição do frontend contendo duas listas de objetos no body. Cada objeto possui o id do pokemon e o nome do pokemon
Ex:
{
"player1": [{"value": 1, "label": "bulbasaur"}, {"value": 2, "label": "ivysaur"}],
"player2": [{"value": 3, "label": "venusaur"}, {"value": 4, "label": "charmander"}]
}
- Repassa as duas listas recebidas para o serviço do backend para tratar os dados antes de salvar
- Concatena os pokemons de cada player e coloca em
player1
ouplayer2
- Calcula a soma dos
base_experience
de cada player e coloca embaseexp1
oubaseexp2
. Faz uma requisição ahttp://pokeapi.co/api/v2/pokemon/{id}
onde {id} é o id do pokemon no momento. O retorno desta chamada são várias informações do pokemons e uma delas é obase_experience
- Calcula a diferença absoluta entre
baseexp1
ebaseexp2
. Caso seja menor que 16,fair
recebeTrue
. Caso contrário,fair
recebeFalse
- Repassa pra controller um
json
com os dados tratados e no mesmo formato de como serão salvos no backend - Envia para o frontend o objeto salvo no banco de dados
- Recebe a requisição do frontend pedindo a lista de todos os objetos do banco
- Cria uma instância da classe de trocas que recebe todos os elementos do banco de dados
- Envia para o frontend a instância dessa classa