/calindra-teste-backend

Cálculo de distância entre endereços, utilizando sua geolocalização

Primary LanguageJavaScript

Desafio Backend Calindra

Descrição do Projeto

O objetivo desta API é calcular a distância entre endereços, recebidos por parâmetro.

Como utilizar

Segue abaixo o formato de requisição suportado pela API: image

Retorno esperado

{
    "distancias": [
        {
            "endereco1": {
                "endereco": "Beco da lapa, belford roxo, 26125563, rio de janeiro",
                "coordenadas": {
                    "lat": -22.7310725,
                    "lng": -43.4098189
                }
            },
            "endereco2": {
                "endereco": "Rua Tertuliano Pimenta, 491, Nova Iguaçu Rio de Janeiro",
                "coordenadas": {
                    "lat": -22.7565842,
                    "lng": -43.4700378
                }
            },
            "distancia": "6.8"
        },
        {
            "endereco1": {
                "endereco": "Avenida Paulo Guilguer Reimberg, 415, Parque Maria Fernandes, São Paulo",
                "coordenadas": {
                    "lat": -23.7706555,
                    "lng": -46.7136874
                }
            },
            "endereco2": {
                "endereco": "Rua Tertuliano Pimenta, 491, Nova Iguaçu Rio de Janeiro",
                "coordenadas": {
                    "lat": -22.7565842,
                    "lng": -43.4700378
                }
            },
            "distancia": "348.8"
        },
        {
            "endereco1": {
                "endereco": "Avenida Paulo Guilguer Reimberg, 415, Parque Maria Fernandes, São Paulo",
                "coordenadas": {
                    "lat": -23.7706555,
                    "lng": -46.7136874
                }
            },
            "endereco2": {
                "endereco": "Beco da lapa, belford roxo, 26125563, rio de janeiro",
                "coordenadas": {
                    "lat": -22.7310725,
                    "lng": -43.4098189
                }
            },
            "distancia": "355.5"
        }
    ],
    "minDIstancia": {
        "endereco1": {
            "endereco": "Beco da lapa, belford roxo, 26125563, rio de janeiro",
            "coordenadas": {
                "lat": -22.7310725,
                "lng": -43.4098189
            }
        },
        "endereco2": {
            "endereco": "Rua Tertuliano Pimenta, 491, Nova Iguaçu Rio de Janeiro",
            "coordenadas": {
                "lat": -22.7565842,
                "lng": -43.4700378
            }
        },
        "distancia": "6.8"
    },
    "maxDIstancia": {
        "endereco1": {
            "endereco": "Avenida Paulo Guilguer Reimberg, 415, Parque Maria Fernandes, São Paulo",
            "coordenadas": {
                "lat": -23.7706555,
                "lng": -46.7136874
            }
        },
        "endereco2": {
            "endereco": "Beco da lapa, belford roxo, 26125563, rio de janeiro",
            "coordenadas": {
                "lat": -22.7310725,
                "lng": -43.4098189
            }
        },
        "distancia": "355.5"
    }
}

Tecnologias

Executar o projeto

Local

Para executar o projeto em modo de desenvolvimento, você deverá ter pelo menos a última versão estável do Node.js instalado em sua máquina.

Clone o repositório digitando no seu terminal

git clone https://github.com/antoniotex/calindra-teste-backend.git

Após terminar o download, acesse a pasta e instale as depêndencias

cd calindra-teste-backend
npm install

Quando terminar de instalar as depêndencias, crie um arquivo chamado .env na raíz do projeto e adicione uma APIKEY válida do Google. Para facilitar, no arquivo example.env tem um exemplo de como ficará.

Após adicionar a APIKEY, rode o segunte comando no terminal

npm run dev

Acesse o endereço abaixo no seu navegador para visualizar

http://localhost:5000/api-docs


Na internet

https://desafio-calindra-backend.herokuapp.com/api-docs/