/desafio-front-end

A idéia deste desafio é nos permitir avaliar melhor as habilidades de candidatos à vagas de programador, de vários níveis.

Desafio programação - para vaga Front-end

O intuito deste teste é avaliar seus conhecimentos técnicos em React.

O teste consiste em utilizar a API(pokeapi v2) para construção de uma Pokédex.

Este desafio deve ser feito por você em sua casa. Gaste o tempo que você quiser, porém normalmente você não deve precisar de mais do que algumas horas.

Instruções de entrega do desafio

  1. Primeiro, faça um fork deste projeto para sua conta no Github (crie uma se você não possuir).
  2. Em seguida, implemente o projeto tal qual descrito abaixo, em seu clone local.
  3. Por fim, envie via email um arquivo patch para seu contato na BLU.

Descrição do projeto

Com esta API(pokeapi v2) em mãos, precisamos que você crie uma interface WEB para exibir as informações dos pokémons capturados.

Sua aplicação DEVE:

  1. Ter um filtro para buscar os pokémons por nome ou número
  2. Adicionar ou capturar, como preferir, novos pokémons a Pokédex que a principio estará vazia
  3. Listar os pokémons que foram adicionados a Pokédex
  4. Mostrar detalhes do personagem adicionados a Pokédex como:
    • Nome
    • Imagem dando a opção do usuário fazer upload de sua própria imagem, substituindo a que é entregue via API
    • Peso
    • Tamanho
    • Lista de tipos
    • Lista de habilidades
    • Estatísticas de velocidade
    • Defesa
    • Ataque
    • Hp
    • Cada passo de sua evolução
    • Ao clicar em um item da lista de tipos, mostrar todos os pokémons daquele mesmo tipo, inclusive os que ainda não estão adicionados a Pokédex
    • Ao clicar em um item da lista de habilidades mostrar o short_effect da mesma
  5. Excluir os pokémons que foram adicionados a Pokédex

Sua aplicação web NÃO PRECISA:

  1. Lidar com autenticação ou autorização (pontos extras se ela fizer)
  2. Não precisa estar hospedada em nenhum servidor
  3. Lidar com APIs que não seja a recomendada pelo teste
  4. Ser escrita usando algum framework específico (mas não há nada errado em usá-los também, use o que achar melhor).

Tecnologias que deve estar presentes no teste

  • React
  • Redux
  • React Testing Library

Não necessário mas se tiver será um diferencial

  • Redux-saga

Avaliação

Seu projeto será avaliado de acordo com os seguintes critérios.

  1. Sua aplicação preenche os requerimentos básicos?
  2. Você documentou a maneira de configurar o ambiente e rodar sua aplicação?
  3. Você seguiu as instruções de envio do desafio?
  4. Qualidade e cobertura dos testes unitários.
  5. Ter uma aparência bonita

Adicionalmente, tentaremos verificar a sua familiarização com as bibliotecas padrões (standard libs), bem como sua experiência com programação funcional a partir da estrutura de seu projeto.


Boa sorte!