Versão mínima: iOS 9
Linguagem: Swift
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:
- UI Testing
- Unit Testing
- 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.
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á.
Exibir um menu deslizável horizotal 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.
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.
- 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.
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.
- A Tab Bar não deve ser exibida.
- Se exibida a partir da Home, ao voltar, a Tab Bar deve ser exibida novamente.
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).
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.
- A tela de Sobre deve ser acessada ao tocar a opção Home do Tab Bar, conforme protótipo.
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.
https://scene.zeplin.io/project/589a7ec9177ff7932d257334
https://fonts.google.com/specimen/Pacifico
Os arquivos das imagens estão na pasta imagens.
https://alodjinha.herokuapp.com/swagger-ui.html
Crie um Fork desse repositório e envie um pull request.
Caso seu projeto possua alguma pré condição para ser executado (EX: fazer o pod install), 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.
Foque em entregar funcionalidades completas!
Quantidade não é qualidade!