Arbol Binario Challenge es una aplicacion codificada en JAVA utilizando el framework SPRING BOOT, este se compone de un set de servicios rest los cuales proveen la funcionalidad para generar un arbol binario a partir de un arreglo de numeros en orden o desorden y luego realizar la busqueda del nodo comun mas sercano entre dos elementos
- Recibir un arreglo de nuemros en orden o desorden
- Crear un arbol binario teniendo encuenta las reglas para crear un arbol binario
- Realizar la busque de un nodo en el arbol binario
- Realizar la busqueda del nodo comun mas cercano a dos numeros
- Retornar la informacion en formato JSON
Para el correcto funcionamiento se requiere
- Java 11
- Maven
El componente puede ser utilizado de dos formas diferentes, las cuales requieren realizar un cambio en la configuracion del archivo de propiedades de spring
Spring boot
Realizar la compilacion desde el directorio raiz del proyecto ejecutando el comando
mvn clean package
Una vez finalizado el proceso de compilacion con exito, ejecutamos el siguiente comando para iniciar el componente
java -jar target/BinaryTree-0.0.1-SNAPSHOT.jar
Docker Container
Realizar la compilacion desde el directorio raiz del proyecto ejecutando el comando
mvn clean package
Una vez finalizado el proceso de compilacion con exito, crearemos la imagen docker utilizando el siguiente comando
docker build -t larodriguezm/moTechnologiesChallenge .
Para concluir ejecutaremos el siguiente comando que nos permite iniciar el docker utilizando las variables de entorno
docker run --name motechnologies_challenge -p 9090:9090 -d larodriguezm/moTechnologiesChallenge
Podemos validar el funcionamiento del componente accediendo a la url
OpenApi Definition: http://localhost:9090/v3/api-docs/
OpenApi UI: http://localhost:9090/swagger-ui.html
Tambien dentro del repositorio de codigo se puede encontrar una carpeta que se llama docs donde se pueden encontrar la siguiente informacion
- Docker: Comandos necesarios para la ejecucion manual de compilacion y ejecicion en docker
- Postman_collection: Proyecto ejemplo para el consumo de servicios
Fecha | Version | Descripcion | Autor |
---|---|---|---|
20 Marzo 2022 | 1.0 | Generacion del componente y documentacion | Alejandro Rodriguez Maichel |