Projeto para encontrar a distância entre caminhos em um grafo representando locais e distâncias no IFC Videira. Este projeto utiliza Go e Gin para construir uma API que oferece funcionalidades de encontrar o caminho mais curto e listar todos os caminhos possíveis entre dois pontos dados.
Desenvolvido por Renan, Kelvin e Luan
- Go 1.22 ou superior
- Clone o repositório:
git clone https://github.com/Renan-Parise/graph-ifc.git
- Entre na pasta do projeto:
cd graph-ifc
- Instale as dependências:
go mod tidy
- Execute o projeto:
go run main.go
O servidor estará rodando em 127.0.0.1:8181
.
Encontra o caminho mais curto entre dois pontos e retorna a distância e o caminho percorrido, além de listar todos os caminhos possíveis entre os dois pontos.
{
"from": "origem",
"to": "destino"
}
curl --location '127.0.0.1:8181/findpaths' \
--header 'Content-Type: application/json' \
--data '{
"from": "ginásio",
"to": "guarita"
}'
- O código ignora letras maiúsculas e minúsculas, então
ginásio
eGinásio
são considerados iguais. - Caso você insira um local que não exista no grafo, o servidor retornará um erro 500 - Internal Server Error com a mensagem
source node not found
. - Para o desenvolvimento deste código, foi aplicado os algoritmos de Dijkstra e DFS.