Por favor leiam este documento do começo ao fim, com muita atenção. O intuito deste teste é avaliar seus conhecimentos técnicos em desenvolvimento mobile. Este desafio deve ser feito por você em sua casa. Gaste o tempo que você quiser, porém normalmente você não deve precisar de mais do que algumas horas para finalizar.
- Primeiro, faça um fork deste projeto para sua conta no Github (crie uma se você não possuir).
- Em seguida, implemente o projeto,tal qual descrito abaixo, utilizando sua linguagem de programação mobile preferida em seu clone local.
- Por fim, envie via email o projeto ou o fork/link do projeto para seu contato bycoders_.
- Tela de login usando (email e senha);
- Tela home com mapa renderizando um ponto na localização atual do device;
- Realizar o login utilizando Firebase Auth;
- Armazenar os dados do usuário na store global;
- Rastrear login com sucesso e renderização com sucesso com Analytics (enviar um evento com dados considerados primordiais nesses dois casos);
- Rastrear os erros e envia-los ao Crashlytics;
- Armazenar na base de dados local (preferência por WatermelonDB, mas pode usar outro banco de dados) o usuário logado e sua última posição no mapa;
- Testar fluxo de login (unit e e2e);
- Testar fluxo da home (unit e e2e).
Seu projeto será avaliado de acordo com os seguintes critérios.
- Sua aplicação preenche os requerimentos básicos?
- Você documentou a maneira de configurar o ambiente e rodar sua aplicação?
- Você seguiu as instruções de envio do desafio?
- Qualidade e cobertura dos testes unitários.
Adicionalmente, tentaremos verificar a sua familiarização com as bibliotecas padrões (standard libs), bem como sua experiência com programação orientada a objetos a partir da estrutura de seu projeto.