Skip to content

tostavio/test-app

Repository files navigation

Mobile Test

Esta é uma avaliação básica de código.

O objetivo é conhecer um pouco a forma como você resolveria problemas com que lidamos no dia-a-dia e a sua habilidade/experiência em criar e organizar um projeto de app multi-plataforma.

Recomendamos que você não gaste mais do que 4 - 6 horas.

Fique à vontade para nos enviar qualquer sugestão ou dúvida que surja durante o projeto.

Faça um fork deste repositório e desenvolva seu projeto dentro da pasta src. O projeto foi criado com npx react-native init test_app.

Tarefas

O teste consiste em duas telas: uma lista de produtos e a página do produto.

O nosso time de produto preparou esse layout para o projeto. A implementação deve ser Pixel perfect.

  1. Consumindo o endpoint https://pacific-wave-51314.herokuapp.com/products?page=<page_num>&size=<page_size>, faça uma tela mostrando a lista de produtos retornada
  • A lista deve suportar paginação
  • As páginas devem ser carregadas apenas quando forem ser exibidas para o usuário
  • A imagem exibida deve vir do imageObjects com featured: true
  • Extra: para melhorar a performance, é possível descarregar da memória os itens que já passaram e não são mais exibidos na tela?
  1. Ao clicar em um produto, o app deve consumir o endpoint https://pacific-wave-51314.herokuapp.com/products/<product_sku> para exibir a tela de produto
  • Caso o payload do produto tenha payload inventory.quantity > 0, deve ser exibido o botão de adicionar ao carrinho; caso contrário, deve ser exibido o botão de "AVISE-ME"
  • Ao clicar em "COMPRE", deve ser exibida uma modal de confirmação de adição à sacola
  • Clicar em "AVISE-ME" abre uma modal para o usuário digitar seu nome e e-mail
  • Os botões das modais apenas fecham elas
  • Ao voltar para a lista de produtos, ela deve estar disponível para o usuário sem fazer uma nova requisição à API

O que vamos avaliar

  • Organização do código;
  • Mensagens (em inglês) e mudanças nos commits;
  • Composição/reutilização de classes (DRY);
  • Testes unitários;
  • O motivo de ter escolhido a arquitetura e cada tech da stack;
  • Como rodar sua aplicação 😉

Como enviar

Ao finalizar o teste, submeta um pull request para o repositório que nosso time será notificado. Se tiver alguma observação, escreva no pull request.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 79.6%
  • Java 8.6%
  • Objective-C 6.7%
  • JavaScript 3.0%
  • Ruby 1.2%
  • Starlark 0.9%