Skip to content

alexnaldosantos/challenge-android

 
 

Repository files navigation

A SOLUÇÃO - LODJINHA

Este branch é a solução sobre o projeto Lodjinha, com as seguintes implementações:

  • Modularização (App, CoreUI, Model, e demais módulos por funcionalidade agrupada)
  • Retrofit para acesso às APIs
  • Koin para injeção de dependência
  • ComposeUI para interfaces
  • Arquitetura MVVM
  • Navegação via função e activity, com e sem passagem de parâmetro
  • Exemplos de testes unitários e instrumentais estão nos módulos :
    -- "challenge_model" - Testa o uso de api retrofit -- "challenge_home" - Testa o uso de tela de função -- "challenge_coreui" - Testa o uso de widgets -- "challenge_produto" - Testa o uso de tela de activity

** Agora, segue abaixo as especificações do projeto ***

O PROJETO - A Lodjinha

Minimo SDK: API 15
Linguagem: Java ou Kotlin

Serão consideradas funcionalidades completas se:

  • O descritivo da funcionalidade for implementado completamente.
  • A tela estiver aderente ao protótipo.
  • Não houver bugs impeditivos que atrapalhem ou impossibilitem a execução da funcionalidade.
  • O layout estiver aderente à todos os devices que suportem a versão mínima e superiores.

Serão considerados bônus:

  • Teste unitário
  • Teste de UI

DESAFIO

1 - Home

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 horizontal com as categorias, conforme protótipo. O número de categorias é fixo, e não há necessidade de scroll infinito. 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. A lista possui um número fixo de produtos e não há necessidade de scroll infinito. Ao clicar em um produto, o usuário deve ser direcionado à Funcionalidade 05.

2 - Listagem de Categorias

Premissas:
  • 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, conforme protótipo. O lista possui um número desconhecido de produtos, e deverá ser paginado, limitando a página em 20 registros. Ao tocar em um produto, o usuário deverá ser direcionado à Funcionalidade 05.

3 - Exibição de Produto

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 texto de descrição poderá vir formatado como HTML. O app deve tratar esse texto 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.

4 - Sobre

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.

RECURSOS

Protótipo Navegável

https://marvelapp.com/f1jb1eg

Fontes e Cores

https://scene.zeplin.io/project/589b3ef2dba1a0801d3f1be1

https://fonts.google.com/specimen/Pacifico

Os arquivos das imagens estão na pasta imagens.

Documentação

https://alodjinha.herokuapp.com/swagger-ui.html

CONCLUSÃO

Crie um Fork desse repositório e envie um pull request.
Caso seu projeto possua alguma pré condição para ser executado, crie um arquivo README.md com um passo a passo para que seja possível executá-lo.
Projetos que não puderem ser executados não serão avaliados.

COMEÇAR!!!

Foque em entregar funcionalidades completas!

Quantidade não é qualidade!

About

Repositório desafio android Ame

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 100.0%