GoMarketPlace

A React-native marketplace made with react-native and Context-api

GitHub top language GitHub language count Codacy grade Repository size GitHub last commit Repository issues

🚧 In progress

🎈 Project Style

  • EditorConfig
  • Eslint -config-airbnb
  • Prettier

Application requires

  • should be able to list the products: Para que esse teste passe, sua aplicação deve permitir que sejam listados na sua tela Dashboard, todos os produtos que sĂŁo retornadas do Fake API. Essa listagem deve exibir o title e o price que deve ser formatado utilizando a função Intl.

  • should be able to add a product to the cart: Para que esse teste passe, vocĂȘ deve permitir que seja possĂ­vel adicionar produtos da sua Dashboard ao carrinho, utilizando o contexto de cart disponibilizado.

  • should be able to list the products on the cart: Para que esse teste passe, vocĂȘ deve permitir que seja possĂ­vel listar os produtos que estĂŁo salvos no contexto do seu carrinho na pĂĄgina Cart, nessa pĂĄgina exiba o nome do produto e o subtotal total de cada produto (price * quantity).

  • should be able to calculate the cart total: Para que esse teste passe, tanto na pĂĄgina Dashboard, tanto na pĂĄgina Cart vocĂȘ deve exibir o valor total de todos os itens que estĂŁo no seu carrinho.

  • should be able to show the total quantity of itens in the cart: Para que esse teste passe, tanto na pĂĄgina Dashboard, tanto na pĂĄgina Cart vocĂȘ deve exibir o nĂșmero total de itens que estĂŁo no seu carrinho.

  • should be able to increment product quantity on the cart: Para que esse teste passe, vocĂȘ deve permitir que seja possĂ­vel incrementar a quantidade de um produto do seu carrinho, utilizando o contexto de cart disponibilizado.

  • should be able to decrement product quantity on the cart: Para que esse teste passe, vocĂȘ deve permitir que seja possĂ­vel decrementar a quantidade de um produto do seu carrinho, utilizando o contexto de cart disponibilizado.

  • should be able to navigate to the cart: Para que esse teste passe, no seu componente FloatingCart na Dashboard, vocĂȘ deve permitir que ao clicar no botĂŁo de carrinho com o testID de navigate-to-cart-button, o usuĂĄrio seja redirecionado para a pĂĄgina Cart.

  • should be able to add products to the cart: Para que esse teste passe, no seu arquivo onde contĂ©m o contexto do carrinho, vocĂȘ deve permitir que a função addToCart adicione um novo item ao carrinho.

  • should be able to increment quantity: Para que esse teste passe, no seu arquivo onde contĂ©m o contexto do carrinho, vocĂȘ deve permitir que a função increment incremente em 1 unidade a quantidade de um item que estĂĄ armazenado no contexto.

  • should be able to decrement quantity: Para que esse teste passe, no seu arquivo onde contĂ©m o contexto do carrinho, vocĂȘ deve permitir que a função decrement decremente em 1 unidade a quantidade de um item que estĂĄ armazenado no contexto.

  • should store products in AsyncStorage while adding, incrementing and decrementing: Para que esse teste passe, no seu arquivo onde contĂ©m o contexto do carrinho vocĂȘ deve permitir que todas as atualizaçÔes que vocĂȘ fizer no carrinho, sejam salvas no AsyncStorage. Por exemplo, ao adicionar um item ao carrinho, adicione-o tambĂ©m no AsyncStorage. Lembre de tambĂ©m atualizar o valor do AsyncStorage quando vocĂȘ incrementar ou decrementar a quantidade de um item.

  • should load products from AsyncStorage: Para que esse teste passe, no seu arquivo onde contĂ©m o contexto do carrinho, vocĂȘ deve permitir que todos os produtos que foram adicionados sejam buscados do AsyncStorage.

â„č How To Use

To clone and run this application, you'll need Git, Node.js v10.16 or higher + Yarn v1.13 or higher installed on your computer. From your command line:

# Clone this repository
$ git clone https://github.com/robertokbr/GoMarketPlace

# Go into the repository
$ cd GoMarketPlace

# Install dependencies
$ yarn install

# Run the app
$ yarn start

Roberto Junior 👋 Join me on Linkedin!