Este teste é apresentado aos candidatos as vagas de Android Developer para avaliar os quesitos técnicos.
Seu objetivo é criar um app com duas telas, uma que exibe uma lista que exibe o resultado de uma API e outra mostra os dados detalhados do item selecionado
Notas:
- A ideia é avaliar a criação de telas com o padrão material design usando todos os componentes do androidx
- Lembre-se de seguir toda guideline material design (https://material.io/)
- Para o desenho das telas, não precisa se preocupar com a interface na horizontal;
- Material de ajuda segue no link (https://material.io/components/lists/)
Listagem | Detalhes |
---|---|
Para consumir o serviço da API Rest
Como usar:
Exemplo de resposta
[{ "name": "Pencil", "quantity": 1, "stock": 5, "image_url": "https://github.com/myfreecomm/desafio-mobile-android/blob/master/assets/pencil.png?raw=true", "price": 150, "tax": 162, "shipping": 50, "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam nunc magna, gravida ut orci non, egestas venenatis libero. Sed luctus, turpis at porta commodo, ipsum orci volutpat sapien, ut scelerisque diam massa lobortis odioc." }]
- Versão mínima do SDK: 21
- Tela deve ajustar em devices menores.
- Utilizar Kotlin
- Boa arquitetura, pode ser (mvc, mvp, mvvm, clean etc)
- RxJava ou Coroutines
- Testes unitários
- Cache de imagens
- Tratamentos de erros
- Padrão de Projeto e boas práticas de Orientação a Objetos.
- Google AAC (Android Architecture Components)
- Construir layouts com Constraints
- Trabalhar offline (cache dos dados)
- Injeção de dependência (dagger, koin, kodein)
Crie um Fork do repositório para realizar o teste, e depois de finalizado envie um Pull Request para nossa equipe interna avaliar