Este microservicio ayuda a encontrar las mejores escalas posibles para viajar de un punto A a un punto B. Utiliza un algoritmo topológico (toposort) para calcular las rutas óptimas.
El microservicio utiliza un principal modelo:
El modelo Routes
representa un grafo de rutas y almacena el resultado del algoritmo topológico (toposort) para determinar el orden de las escalas en una ruta óptima.
NumNodes
: Número de nodos en el grafo.Ordering
: Ordenamiento topológico de los nodos del grafo.
El microservicio funciona de la siguiente manera:
-
Proporciona endpoints de API para crear, obtener, actualizar y eliminar gráficos de rutas (
Routes
). -
Utiliza un toposort para calcular la mejor secuencia de escalas para viajar de un punto A a un punto B.
-
Almacena los datos en una base de datos de PostgreSQL.
-
Docker
-
Asegúrate de haber descargado las imágenes de docker anteriormente
docker pull felipeperezleal/routes_db
docker pull felipeperezleal/routes_ms
- Clona este repositorio:
git clone https://github.com/felipeperezleal/routes_ms.git
- Ejecutar el contenedor de Docker de la base de datos:
docker run -p 5432:5432 felipeperezleal/routes_db
- Ejecutar el contenedor de Docker del microservicio:
docker run -p 8081:8081 felipeperezleal/routes_ms
GET /routes
: Obtiene la lista de todas las rutas.GET /routes/{id}
: Obtiene un la ruta identificada por su ID.POST /routes
: Crea una nueva ruta.PUT /routes/{id}
: Actualiza una ruta existente por su ID.DELETE /routes/{id}
: Elimina una ruta por su ID.