Olá Dev! Tudo bem?
Nós estamos sempre em busca de profissionais interessantes e interessados, com boa capacidade de aprendizado, adaptação e principalmente bom senso! Este teste tem como objetivo avaliar e desafiar você. Não é obrigatório realizá-lo completamente, queremos apenas reconhecer seu esforço e potencial para aprender, se adaptar e tomar decisões.
Vamos ao teste!
Crie um aplicativo front-end conectado ao back-end Pokemon desenvolvido usando dados e rotas obtidos pela PokéAPI.
API DOCS: https://pokeapi.co/docs/v2
- A aplicação deverá conter uma página inicial com uma listagem de Pokémons com paginação e deverá possuir um filtro que busca os dados pelo nome do Pokémon.
- Ao clicar em um Pokémon deverá ser exibida a página de detalhes com (nome, descrição e sprites/imagens do Pokémon)
- Na página de detalhes deverá conter um botão que volta para página inicial de listagem dos Pokémons
- Ao voltar para a página da listagem dos Pokémons o filtro por nome e a página da listagem deverão ser os mesmos que estavam antes do usuário entrar na página de detalhes.
- Caso o Pokémon não tenha imagem deverá ser exibida uma imagem padrão de Pokémon. (atenção: não será permitido colocar essa validação nos componentes visuais)
- Caso o Pokémon não tenha descrição exibir o texto "descrição não informada". (atenção: não será permitido colocar essa validação nos componentes visuais)
- Todas as rotas usadas deverão ter cacheamento de pelo menos 30 segundos.
O cumprimento de todos os requisitos é obrigatório e acarretará a eliminação do candidato que não os cumprir. Além dos requisitos levantados acima, iremos avaliar os seguintes critérios:
- Gerenciamento de estado
- Componentização
- Responsividade
- Testes automatizados
- UI design
- NextJs (versão 15+)
- react (versão 18+)
- Typescript
- Tailwind css
- shadcn
- Tanstack/react-query
- Tanstack/form
- zustand
- Jest
- playwright
- UI design agradável
- Conhecimento de AI
- conhecimento em Vue.js (básico)
Primeiramente, você pode fazer um fork desse repositório aqui, para sua conta do Github, depois disso crie uma branch nova com o seu nome (ex: nome_sobrenome), para podermos indentificá-lo.
Após terminar o desafio, você pode solicitar um pull request para a branch master do nosso repositório. Vamos receber e fazer a avaliação de todos.
Boa sorte! :)