Skip to content

Permite localizar as UBSs próximas baseado em geolocalização

License

Notifications You must be signed in to change notification settings

pauloribeirobr/pesquisa-ubs

Repository files navigation

Pesquisa-UBS

API que permite pesquisar UBSs (Unidades Básicas de Saúde) próximas.

Introdução

O Portal Brasileiro de Dados Abertos possui um arquivo CSV com a relação de todas as UBSs ativas no território nacional https://dados.gov.br/dataset/unidades-basicas-de-saude-ubs

O desafio foi desenvolver uma API que permita ordenar por distância as UBSs baseado em um ponto de origem (latitude, longitude).

Foi utlizada a fórmula de Haversine para calcular a distância entre 2 pontos http://rosettacode.org/wiki/Haversine_formula#Java

O arquivo CSV é importado para um Banco em Memória (H2) toda vez que o projeto é iniciado e essa é a lista principal. Como o cálculo é feito em todos os elementos da tabela, cada solicitação cria uma lista própria efetuando o cálculo e posteriormente ordenando da menor distância para a maior. Assim temos um ganho em performance e a segurança que os cálculos não serão compartilhados entre as requisições.

Projeto desenvolvido utilizando o Spring Boot

O projeto foi publicado no Heroku https://pesquisa-ubs.herokuapp.com/ e possui 3 links:

About

Permite localizar as UBSs próximas baseado em geolocalização

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published