¿Qué aprenderá?

Al finalizar este tutorial el estudiante estará en la capacidad de ejecutar el back del curso, al igual que otros proyectos con la misma estructura.

¿Qué necesita?

Para realizar este taller Ud. debe:

  1. Aprovisionar su máquina virtual o hacer el tutorial para trabajar en su propia máquina. Ambos tutoriales los puede encontrar en Bloque Neón.

Desde una terminal clone el proyecto back con el siguiente comando:

git clone git@github.com:Uniandes-isis2603/bookstore-back.git

Para ejecutar el back puede usar VSCode o Spring Tools. Explicaremos el proceso para cada uno de ellos.

Ingrese al directorio bookstore-back y ejecute el siguiente comando:

code .

Con el comando "code ." se abrirá una instancia de VS Code en la carpeta contenedora del proyecto.

Como siguiente paso debe asegurarse de que estas extensiones están instaladas en VS Code:

Extensión Pack for Java

Spring Boot Dashboard

Lombok Annotations Support

Luego vaya al Spring Boot Dashboard (en la parte inferior izquierda), seleccione bookstore y haga clic en el botón Run.

Si todo está correcto deberá aparecer el siguiente mensaje en la consola de depuración:

Lo anterior significa que el servidor local del back-end está funcionando y listo para recibir peticiones en el puerto 8080.

Abra Spring Tools. En el Package Explorer seleccione la opción Import projects...

En la siguiente ventana seleccione Git > Projects from Git (with smart import).

Seleccione "Existing local repository".

Luego haga clic en Add y busque la carpeta donde clonó el proyecto.

El asistente de importación detectará que hay un proyecto de Spring en la carpeta.

Haga clic en el botón Finish. En el Package Explorer deberá aparecer el proyecto importado.

En la parte izquierda aparecerá la ventana Boot Dashboar. Despliegue la opción local y seleccione bookstore-back, clic derecho > (Re)start.

Si todo está bien deberá aparecer este mensaje en la consola del IDE.

Para verificar si el back quedó correctamente desplegado, desde un navegador abra la siguiente dirección:

http://localhost:8080/api 

Esto debe mostrar la siguiente información:

Para cargar datos iniciales, una vez haya ejecutado el proyecto abra un navegador e ingrese la url http://localhost:8080/api/h2-console/

Esto abre la consola de administración de la base de datos que para el caso de este proyecto es H2, una base de datos en memoria.

En JDBC URL ingrese "jdbc:h2:mem:bookstore"; en User Name "sa" y en Password "password".

En Spring copie el contenido del archivo sql/data.sql y pégelo en el campo SQL statement.

Luego, haga clic en el botón Run. Las instrucciones deben ejecutarse sin errores. Para verificar que todo esté bien abra una ventana de navegador y escriba la URL http://localhost:8080/api/authors y deberá ver como salida un JSON con información de autores tal como se observa en la figura a continuación:

Para probar nuestro API, utilizaremos Postman. Abre Postman y damos Click en Import

Luego en Upload Files

Y nos dirigimos a la carpeta collections de nuestro proyecto book store y seleccionamos el archivo EntornoColeccionesBook.postman_environment.json y damos click en Abrir, luego en Import.

En la esquina superior derecha elegimos nuestro entorno de variables que acabamos de importar:

Y nuevamente vamos a Import -> Upload Files pero esta vez importamos todas las demás colecciones:

Y las importamos todas

Para probar una, le damos click a la que queramos y luego el botón Run

Nuevamente el botón Run

Nos saldrá algo así:

Como podemos observar, todas las pruebas de nuestro API están funcionando. Estas tienen todos los métodos HTTP que se necesitan probar, que son POST (Crear), PUT (Actualizar), GET (Recibir información) y DELETE (Borrar).

Con esto concluimos la ejecución del proyecto back de ejemplo. Podemos ejecutar las demás colecciones para probar que todo está funcionando correctamente.

Para clonar repositorios privados en GitHub puede usar ssh o https. A continuación se explica cómo hacerlo en cada uno de los casos.

Clonar vía SSH

Para clonar proyectos privados en GitHub usando ssh se requiere generar una clave. Para esto abra una consola y escriba el comando ssh-keygen

Deje los valores por defecto.

La clave quedará almacenada en el directorio del usuario, por ejemplo en C:\Users\estudiante\.ssh

Abra el archivo C:\Users\estudiante\.ssh\id_rsa.pub con un bloc de notas y copie el contenido.

Vaya a su cuenta de GitHub y seleccione la opción Settings.

Luego seleccione SSH and GPG keys y haga clic en New SSH key.

Ingrese un nombre para la clave y en Key ingrese el código que copió previamente.

Con este paso podrá clonar repos vía ssh.

Clonar vía HTTPS

Para clonar proyectos privados en GitHub usando HTTPS se requiere generar un token personal. Para esto puede seguir los pasos que se detallan en este documento:

https://docs.github.com/es/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token