Implementação de Carrinho de Compras

Descrição

O Objetivo proposto aqui é implementar uma aplicação de carrinho de compras, que permita o usuário adicionar N produtos ao seu carrinho de compras, além de calcular os devidos totais.

A solução deve, obrigatoriamente, ser implementada em Ruby on Rails, com repositório de código no GitHub ou BitBucket.

A aplicação deverá ser hospedada no Heroku e ao final da implementação o candidato deverá enviar o link do repositório, e da aplicação hospedada no heroku, para o e-mail almirmendes@wine.com.br.

Nós precisaremos de acesso ao código para avaliá-lo, favor ao finalizar adicionar o usuário abaixo conforme cada repositório:

Github ou Bitbucket: m3nd3s

Requisitos:

  • Utilizar controle de versão: Git
  • Utilizar Ruby 2
  • Utilizar Ruby on Rails 5
  • Hospedar o código da aplicação no Bitbucket ou Github;
  • Publicação da aplicação no Heroku;

Observações

  • Utilizar um banco de dados. (Dica: Heroku disponibiliza PostgreSQL)
  • Desejável o uso de qualquer front-end framework (Bootstrap, etc);
  • Os recursos free do Heroku atenderão perfeitamente os requisitos. Logo não há necessidade de fazer uso de recursos pagos;

Sobre a aplicação de carrinho de compras

Produto

Entidade que será adicionada ao carrinho de compras, deve ter os seguintes atributos obrigatoriamente:

  • Imagem
  • Nome
  • Preço

Abaixo segue um exemplo de tela de listagem de produtos para serem adicionados ao carrinho.

Produto Preço -
Metaprogramming Ruby 2: Program Like the Ruby Pros $ 48 Adicionar
Master the Art of Handling Failure in Ruby $ 15 Adicionar
Build Awesome Command-Line Applications in Ruby $ 39 Adicionar
Agile Web Development with Rails 4 $ 56 Adicionar

Observação: Ao adicionar novamente um item ao carrinho, sua quantidade deve ser incrementada em +1;

Carrinho

O carrinho é a entidade responsável por "guardar" os produtos que tenho interesse em comprar. Abaixo segue um exemplo de tela do carrinho.

O botão X permitirá remover o item do carrinho

Item Preço Quantidade Total -
Metaprogramming Ruby 2: Program Like the Ruby Pros $ 48 1 $ 48 X
Master the Art of Handling Failure in Ruby $ 15 2 $ 30 X
Total $ 78

O que será avaliado?

Levaremos vários quesitos em consideração, além dos requisitos acima mencionados, como:

  • Boas práticas de desenvolvimento;
  • SOLID;
  • Cobertura de testes;
  • Design de código coeso;
  • Clareza/limpeza do(s) código(s);