Skip to content

🚘📲 Diretrizes para o desafio de contratação do App Moobie

License

Notifications You must be signed in to change notification settings

moobie/desafio-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Desafio App Moobie

Este repositório contém as diretrizes para o desafio de programação do App Moobie. Ele é válido tanto para iOS quanto Android porém só é esperado que você faça uma plataforma usando código nativo.

Requisitos

Crie um aplicativo que permita que o usuário escolha a marca, modelo e ano de seu carro, para obter esas informação você deve utilizar a API da FIPE fornecida por nós. Na Moobie focamos muito em garantir a melhor experiência possível para o usuário, sinta-se livre para fazer a UI como achar melhor. É esperado que seu App siga as Human Interface Guidelines/User Interface Guidelines.

Você tem duas opções de como fazer seu app e essa escolha depende do seu conhecimento, lembrando que encorajamos que você aprenda algo novo com esse teste!

App sem persistência

O app abre na tela de escolha de modelo e após essa escolha aparece uma tela com os detalhes selecionados e o preço do veículo de acordo com a tabela FIPE.

App com peristência

O app abre com uma lista de carros salvos, há a opção de ver detalhes do carro (mesma tela que a opção sem persistência, você pode supor que estes valores não mudarão nunca) e após adicionar um carro o usuário retorna para a lista, que agora contém o novo carro adicionado.

iOS

  • É esperado que o projeto compile sem erros / warnings na versão atual do Xcode na App Store.
  • O projeto deve ser escrito em Swift 3 ou Swift 4
  • O projeto deve suportar iOS 9 e será testado na versão mais recente do iOS (disponível para o público geral).
  • É permitido o uso de bibliotecas externas, assim como gerenciadores de dependências. Elas podem ser escritas em qualquer linguagem.
  • As telas devem ser feitas com Auto Layout e não podem apresentar logs de erro no console.
  • Provavelmente faremos perguntas sobre o seu código, não saia colando tudo do Stack Overflow :)

Android

  • É esperado que o projeto compile sem erros / warnings na versão atual do Android Studio.
  • O projeto deve ser escrito em Java e/ou Kotlin.
  • O projeto deve ter Base SDK 16 e será testado na versão mais recente do Android.
  • É permitido o uso de bibliotecas externas, assim como gerenciadores de dependências.
  • Provavelmente faremos perguntas sobre o seu código, não saia colando tudo do Stack Overflow :)

Extras

  • Tratamento de cenários de erro (falta de conexão com a internet, indisponibilidade do servidor, etc)
  • Pull to refresh
  • Testes Unitários
  • Testes de UI
  • 100% de Cobertura de código
  • Uso de Rx/ReactiveCocoa
  • DI
  • L10n
  • A11y

iOS

  • Layout por código
  • Uso de SwiftLint
  • Dynamic Type
  • App universal

Especificação da API

Todas os endpoints abaixo são relativos a http://fipe-api.herokuapp.com

GET /cars/brand

Retorna uma lista de marcas

[{"marca":"Acura"},{"marca":"Agrale"},{"marca":"Alfa Romeo"},{"marca":"AM Gen"},{"marca":"Asia Motors"},{"marca":"ASTON MARTIN"},{"marca":"Audi"}]

GET /cars/brand/:brand

Retorna modelos de uma marca específica

[{"codigo_fipe":"038003-2","modelo":"Integra GS 1.8","ano":"1992"},{"codigo_fipe":"038003-2","modelo":"Integra GS 1.8","ano":"1991"}]

GET /cars/:fipe_code/:year

Retorna os dados sobre um modelo/ano específico

[{"codigo_fipe":"038002-4","marca":"Acura","modelo":"Legend 3.2/3.5","ano":"1992","valor":16678}]

Prazo

Esperamos que você faça tudo em até duas semanas, se você não conseguir fazer tudo nos envie mesmo assim e se tiver algum problema fale conosco, estamos aqui para ajudar ;)

Submissão

Você tem duas opções:

  1. Você pode fazer um pull request no nosso repositório público. Note que seu fork ficará público para qualquer pessoa ver.

  2. Caso você prefira um pouco de privacidade, crie um repositório com o nome desafio-app na sua conta do GitHub, Bitbucket ou GitLab, inclua os usuários abaixo como colaboradores (acesso de leitura) e nos envie um email avisando.

Plataforma Nome Email Usuário
iOS Francesco [email protected] fpg1503
Android Leonardo [email protected] leonardo2204

Divirta-se e aprenda algo novo!