Olá! Muito obrigado por participar da avalição técnica para integrar a equipe de desenvolvimento da W16.
Criamos esta avaliação para avaliar seu conhecimento em lógica de programação, capacidade de investigar e conhecer novas ferramentas, organização e qualidade de código e especialmente, sua criatividade.
No mundo pós-apocaliptico de 2023, o combustível tem um valor inestimável. Gangues bárbaras lutam até a morte pelo controle desse valioso recurso e a W16 está desenvolvendo o aplicativo WARKER, que é a última esperança da humanidade em trazer um pouco de paz e ordem à esse mundo devastado. Esse aplicativo deve consumir uma API REST que indica os postos de gasolina das diversas cidades, sua localização e o nível dos seus reservatórios. Lembre-se de que não há mais lei e a sua vida depende do sucesso dessa aplicação. Marcopoc não fica feliz quando o seu carro falhar devido a falta de gasolina e você NÃO quer deixar o Marcopoc irritado...
Todos os dados necessários serão entregues por um backend feito pela W16. Os endpoints são apenas de consulta, não havendo a necessidade de criação de conteúdo nem autenticação 🤩.
URL BASE: https://warker-api.vercel.app/api
type Coordinates = {
latitude: number;
longitude: number;
}
type City = {
id: number;
name: string;
coords: Coordinates
}
type GasStation = {
id: number;
repository: number;
coords: Coordinates
}Retorno de todas as cidades de forma paginada
// Request - query parameters
type per_page = number | undefined
type page = number | undefined
type search = string | undefined// Response
type Response = {
data: City[]
meta: {
page: number;
total: number;
per_page: number;
total_pages: number;
}
}Retorna a capital mais proxima ao usuário
// Request - query parameters
type latitude = number
type longitude = number// Response
// 200
type SuccessfulResponse = City
// 404
type ErrorResponse = {
message: string
}Retorno paginado de todos os postos presentes na cidade.
// Request - query parameters
type per_page = number | undefined
type page = number | undefined// Response
type Response = {
data: GasStation[]
meta: {
page: number;
total: number;
per_page: number;
total_pages: number;
}
}Esperamos que você consiga fazer a estimativa aproximada do tempo de trabalho necessário para a entrega das funcionalidades, que serão descritas na próxima seção.
Como parte do desafio também é desejado que você consiga escolher e explicar os motivos por qual as ferramentas e tecnologias foram usadas e aplicadas.
Uma aplicação simples de uma a duas páginas, onde o usuário deve entrar na aplicação e conseguir visualizar os postos de gasolina mais próximos a sua localização e ter acesso ao nível de seu repositório. OBS: Devido como o backend foi construído sabemos que os postos mais proximos irão ser da capital mais próxima ao usuário.
Ao menos uma tela deve utilizar alguma solução para a apresentação do map e os marcadores dos postos de gasolina.
-
Splashscreen
-
Navegação
-
Filtro por cidades na tela do mapa
-
Acesso ao repositório GIT
-
APK funcional, podendo ser usado sem o metro. (App de produção)