- Aba "abilities" + reducer + saga correspondentes
- Node 14.x
- Instalar e configurar React-Native
- Xcode atualizado + emuladores/dispositivos
- Android Studio + SDK + Java8 + emuladores/dispositivos
- Clone este repositório:
https://github.com/vedovato/rn-pokedex-challenge.git
- Instale dependências do projeto:
npm install
- Instale dependências do iOS:
cd ios && pod install
- Inicie o Metro Bundler:
npm start
- Senha da keystore é
vedovato
; - Para rodar a versão iOS, utilize o arquivo
*.wcworkspace
localizado na pastaios
ou o comandonpm run ios
a partir da raiz do projeto, via terminal.
npm start
: Inicia o "compilador" do React-Native;npm run android
: Roda a versão debug no Android (dispositivo conectado ou emulador);npm run android:adb-reverse
: Encaminha o trafego para as portas corretas;npm run android:release-build
: Gera versão release do app;npm run android:release-install
: Instala a versão de release no dispositivo/emulador para testes;npm run react-native run-ios
: Roda verão debug no disposito/emulador iOS.
- A lista inicial de pokémons é carregada no momento da inicialização do app através da execução das
sagas/watchers
e seu resultado armazenado na store`; - Para cada item recebido, acontece uma solicitação para a API com o objetivo de recuperar mais informações do pokémon. O resultado é
unificado aos dados iniciais
pelo app viaredux-saga
; - Todos os itens em exibição na lista de pokémons já possuem mais informações adicionais baixadas e prontas para consumo sem solicitação adicional ao servidor;
- Todo conteúdo baixado fica disponível para acesso em
modo offline
; - A paginação utiliza a tecnica de paginação infinita e ocorre quando o usuário está chegando ao fim da lista de pokémons. O novo conteúdo solicitado passa pelo mesmo
worker/saga
da solicitação inicial (DRY) - Os ícones de tipos de pokémons foram implementados como custom-font;
- As imagens dos pokémons vem deste site, a partir do ID do pokémon;
- A filtragem de pokémons suporta a pesquisa por
ID global
,partes do nome
ouconjunto de letras
do nome de cada pokémon. Ex: "char", "1", "5", "bulba" etc - As cores e detalhes do app são dinâmicos de acordo com o tipo de cada pokémon
- React 16.11;
- React-Native 0.62:
- Hooks;
- Redux;
- Redux-Saga;
- Styled-Components.
- Storybook;
- Typescript;
- Testes.