Giter Site home page Giter Site logo

test-app's Introduction

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.

test-app's People

Contributors

fontesrp avatar franklinjavier avatar grisolfi avatar

Stargazers

Enieber Cunha avatar Willian Ribeiro Angelo avatar

Watchers

Nina Kitsu avatar Fábio Chassot avatar Mauricio Nobrega avatar  avatar  avatar Andre Garcia avatar Leandro Araújo avatar Geraldo Castro avatar Cesar Vilarim avatar James Cloos avatar Marcos Paulo avatar Bruno Silva avatar Leonardo Matos avatar Pablo Ungaro avatar Paulo Porto avatar Bruno Penso avatar William Bruno avatar André Luiz Papazoglu Farias avatar rthoth! avatar Phillip Parente avatar Rodrigo Pereira avatar Alexandre Takashi avatar Ramon Pires da Silva avatar Gleydson Costa avatar Danilo Gouvea avatar Hemerson Vianna avatar Felipe Siconha avatar Clayton Cavaleiro avatar Flávio Milan avatar Fernando avatar Fabio Siqueira avatar Maciel Melo avatar Allan Consolaro avatar  avatar Douglas Rosa avatar Roger Albino avatar  avatar Guilherme Santiago avatar Caio Favero avatar Diego Rocha avatar Marcelo dos santos silva avatar Ney Simões avatar Luan Pereira avatar Willian Schenkel avatar Rhuam Barbosa de Sousa avatar  avatar Iury Teixeira avatar Tiago 'Kor' Rodrigues avatar Suelton Lima avatar Carlo André Caetano avatar  avatar Minato avatar Felipe Oliveira avatar Claudio Santos avatar Wesly Vinicius Borges Cardoso avatar Roberto Porlan avatar Matheus Vessaro avatar Fabio Carvalho avatar Igor Cavalcanti avatar William Moraes avatar Lucas Barros avatar Ricardo Ruiz avatar Gabriel avatar Fernando Fernandes avatar Danilo de Oliveira avatar Lucas Gabriel avatar Bruno Mattos Torrão avatar Willian Lemes avatar André Barroso avatar Ricardo Domingues de Faria avatar Rafael Acioly avatar Gabriel Campioto Pires avatar Kelson Palharini avatar Rodolfo Chicone avatar Fabio Mazucato avatar Caio Henrique avatar Juliano Celestino avatar Eduardo Almeida avatar Raul Steven Soto Sabrera avatar César Martinez avatar ANDERSON PEREIRA avatar Guilherme Rodrigues Simeão avatar  avatar Luiz Paulo Rodrigues avatar Andre Durazzo avatar Gabriel Bibiano avatar Andrey avatar Gabriel avatar Fagner Pinho avatar Alan Henrique Almeida da Costa avatar Danyllo Silva avatar Vinicius avatar Augusto Lemes avatar Luigi Domingues avatar Filipe Bastos avatar Renan Aquino avatar Kássimo Júnior avatar Italo Mariano avatar Jhonny Abreu avatar Tiago Silva avatar

test-app's Issues

O endereço de api esta bloqueado para fora do dominio

Fiz quase todo o app, quando fui fazer a integração com dados reais, descobri que a um bloqueio de host no header da request, provavelmente a configuração de cors está ativa.

Como reproduzir

se é feito um request usando curl para o endpoint retorna 400


curl https://pacific-wave-51314.herokuapp.com/products?page=1&size=10

mas se for adicionado um host valido a resposta é 200:

curl -H "Origin: pacific-wave-51314.herokuapp.com https://pacific-wave-51314.herokuapp.com/products?page=1&size=10

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.