Esta página contém detalhes do exercício utilizado como requisito para a oportunidade em aberto para atuar como desenvolvedor de software pela empresa MapLink.
Uma equipe solicitou a criação de um componente para a realização de cálculos de valores totais da rota.
O contrato do componente define como entrada os seguintes parâmetros:
Lista de endereços
Cada endereço contém os dados:
- Nome da rua/avenida;
- Número;
- Cidade;
- Estado.
O contrato de saída deste componente deve conter:
Valores totais da rota
Neste item devem constar:
- Tempo total da rota;
- Distância total;
- Custo de combustível;
- Custo total considerando pedágio.
Deve-se utilizar os web services de Geocodificação e de Rotas da MapLink para realizar esta tarefa.
Você encontrará detalhes de uso nestes endereços:
- Geocodificação - dev.maplink.com.br/en/v2/maplinkapi-search
- Roteirização - dev.maplink.com.br/en/v2/maplinkapi-route
Para consumir os métodos dos serviços da MapLink é necessário utilizar um applicationCode e uma chave de acesso (token). Você deve utilizar os seguinte:
ApplicationCode: desafiodev
Chave de acesso (token): z0vmywzpbCSLdJYl5mUk5m2jNGytNGt6NJu6NGU=
Você tem a liberdade de escolher e definir sobre a linguagem de programação, frameworks, design e arquitetura a ser adotada. O único requisito é a disponibilização deste componente para a utilização em outro projeto qualquer (independente de linguagem de programação / plataforma / ambiente).
Outros parâmetros dos serviços de Geocodificação e de Rotas, os quais não foram mencionados, não são relevantes para essa solução, sendo assim, você tem a liberdade de definí-los como preferir.
O compartilhamento do resultado produzido deve ser feito diretamente pelo GitHub. Para isso, faça um fork e nos envie sua versão com a devida implementação.
Apesar do nome "desafio", o objetivo deste teste é avaliar como você desenvolvedor irá considerar questões como arquitetura e design de software, modelagem e aplicação de técnicas e conceitos de programação, e não simplesmente resolver o problema proposto, visto que o mesmo não oferece dificuldades para implementação.
Qualquer dúvida, você pode enviar um e-mail para [email protected].
Lhe desejamos um ótimo desafio!
Time MapLink