Skip to content

eros-maurilio/ALodjinha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

alodjinha

 

Geral 🔍

Um desafio técnico criado pela empresa AmeDigital. O desafio completo pode ser encontrado em: aLodjinha.

Demo 👾

ezgif-2-5d1a5b59b9

 

Home 🏠

Premissa ❗️

  • A tela de Home deve ser acessada ao tocar a opção Home do Tab Bar, conforme protótipo.
  • O tamanho total da tela de Home deve ser determinada pelo tamanho total de todos as views somadas; ou seja, não deverá haver sub-scroll vertical.
  • Ao exibir qualquer Funcionalidade externa acessada pela Home, a Tab Bar não deve aparecer.

Funcionalidade 01 ⚙️

  • Exibir a barra de banners rotativo.
  • Cada banner deve preencher todo o espaço horizontal da tela.
  • Ao realizar o swipe left ou swipe right, o banner deve ser trocado pelo próximo ou anterior, conforme disponibilidade.
  • Utilizar um indicador para facilitar ao usuário saber quantos banners existem e em qual posição ele está.

Funcionalidade 02 ⚙️

  • Exibir um menu deslizável horizotal com as categorias.
  • Ao clicar em uma categoria, o app deve redirecionar o usuário para a Funcionalidade 04.

Funcionalidade 03 ⚙️

  • Exibir uma lista dos produtos mais vendidos.
  • O usuário deve ser direcionado à Funcionalidade 05.

Screenshot da Home 📸

 

Listagem da Categoria 📖

Premissa ❗️

  • A Tab Bar não deve ser exibida.
  • Ao voltar para Home, a Tab Bar deve voltar a ser exibida.
  • Um indicador de loading deve ser exibido enquanto uma nova página estiver sendo carregada.
  • O usuário não deve ficar com a rolagem e navegação travados enquanto uma nova página estiver sendo carregada.

Funcionalidade 04 ⚙️

  • Exibir uma lista dos produtos da categoria selecionada.
  • A lista possui um número desconhecido de produtos, e deverá ser paginado, limitando a página em 20 registros. (Não há limite de paginação pela API)
  • Ao tocar em um produto, o usuário deverá ser direcionado à Funcionalidade 05.

Screenshot da Listagem da Categoria 📸

Exibição de Produto 🛒

Premissa ❗️

  • A Tab Bar não deve ser exibida.
  • Se exibida a partir da Home, ao voltar, a Tab Bar deve ser exibida novamente.

Funcionalidade 05 ⚙️

  • Exibir a descrição do produto conforme protótipo.
  • O botão Reservar deve estar sempre visível, fixado na parte de baixo da tela.
  • O app deve tratar em HTML e exibí-lo corretamente (negrito, itálico, etc).

Funcionalidade 06 ⚙️

  • Ao clicar no botão Reservar, o app deve efetuar a reserva do produto com o servidor.
  • Exibir a mensagem de sucesso ou erro da reserva.
  • O usuário não deve poder tocar outra vez no botão enquanto a primeira reserva não for concluída.
  • Se a reserva for concluída com sucesso, após fechar a mensagem de sucesso, retornar para a tela que chamou a Exibição de Produto.

Screenshot da Tela de Produto 📸

 

Sobre 💬

Premissa ❗️

  • A tela de Sobre deve ser acessada ao tocar a opção Home do Tab Bar.

Funcionalidade 07 ⚙️

  • Exibir o logo e o nome do app. Na parte de baixo da tela, exibir o nome do desenvolvedor (seu nome) e a data de desenvolvimento.

Screenshot Sobre 📸

 

Extras 💥

  • Cobertura de testes atual: 36.4%
  • iOS 9.0+
  • Apenas bibliotecas nativas
  • MVVM

 

Importante ⚠️

Por se tratar de um desafio antigo alguns ícones e imagens estão indisponíveis, para contornar esse problema inclui placeholders no lugar. Além disso, identifiquei que há uma discrepância entre a ID de alguns produtos e a sua lista de detalhes, ou seja, pela API, ao clicar em um produto X o usuário pode acabar vendo um item diferente do solicitado.

About

AmeDigital iOS challange

Topics

Resources

License

Stars

Watchers

Forks

Languages