Esta página contém detalhes do exercício utilizado como requisito para a oportunidade em aberto para atuar como desenvolvedor de software sênior 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.
Tipos de rota
Considere a relação de tipos de rota permitidos:
- Rota padrão mais rápida;
- Rota evitando o trânsito.
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/webservices/addressfinder
- Roteirização - dev.maplink.com.br/webservices/rotas
Para consumir os métodos dos serviços SOAP da MapLink é necessário utilizar uma chave de acesso. Você deve utilizar a seguinte: c13iyCvmcC9mzwkLd0LCbmYC5mUF5m2jNGNtNGt6NmK6NJK=
Caso você opte por trabalhar com a API Javascript, use esta chave: ymYmaxLXdMBJRmLgendrG0RjGYOIbvLXOwBvSJvgNMpPSAFAGKdAOKFgTmzPTKs9
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.
Qualquer dúvida, você pode enviar um e-mail para [email protected].
Lhe desejamos um ótimo desafio!
Time MapLink API / Web Services