En este codelab se presenta como un ejemplo para crear un proyecto básico para introducción a JHipster.
Este ejemplo no debe considerarse como una base para crear un proyecto para producción, debido a que los proyectos de CONACyT están basados en microservicios y requieren interactuar con otros componentes.
En este codelab se asume que ya se tiene una versión de JHipster instalada con sus dependencias (Se recomienda revisar el sitio Installing JHipster que explica como instalarlo)
Para poder crear un nuevo proyecto con el generador de JHipster, es necesario crear un directorio vacío y el shell debe estar posicionado dentro del directorio creado.
En un sistema UNIX-like el comando es similar al siguiente:
mkdir ejemplo
cd ejemplo
En Windows el comando es similar al siguiente:
md ejemplo
cd ejemplo
Una vez que el shell esté posicionado en el directorio que se preparó para el ejemplo, es necesario ejecutar el comando de JHipster:
jhipster
En caso tener instalada una versión anterior a la 7 de JHipster, se requiere ejecutar el comando de JHipster indicando el blueprint de Vue:
jhipster --blueprints vuejs
El comando de JHipster iniciará una aplicación de tipo consola, en la que se presentarán una serie de preguntas que determinarán el tipo de aplicación y configuraciones que se generarán.
Se dejará la opción default que es Monolithic application
y se presionará la tecla enter.
Se dejará la opción default que es el nombre del directorio y se presionará la tecla enter.
Se dejará la opción default que es N
y se presionará la tecla enter.
Se escribe mx.conacyt.crip.ejemplos
para el nombre del paquete Java y se presiona la tecla enter.
Una vez más se dejará la opción default que es JWT
y se presiona la tecla enter.
Una vez más se dejará la opción default que es SQL (H2, PostgreSQL, MySQL, MariaDB, Oracle, MSSQL)
y se presiona la tecla enter.
Una vez más se dejará la opción default que es PostgreSQL
y se presiona la tecla enter.
Una vez más se dejará la opción default que es H2 with disk-based persistence
y se presiona la tecla enter.
Una vez más se dejará la opción default que es Ehcache (local cache, for a single node)
y se presiona la tecla enter.
Una vez más se dejará la opción default que es Y
y se presiona la tecla enter.
Una vez más se dejará la opción default que es Maven
y se presiona la tecla enter.
Una vez más se dejará la opción default que es No
y se presiona la tecla enter.
No seleccionamos ninguna y se presiona la tecla enter.
Con las fechas seleccionamos Vue
y se presiona la tecla enter.
De nuevo dejamos la opción default que Y
.
Una vez más se dejará la opción default que es Default JHipster
y se presiona la tecla enter.
De nuevo dejamos la opción default que Y
.
Con las flechas seleccionamos Spanish
y se presionará la tecla enter
Con las flechas buscamos English, presionamos las barra espaciadora para "activarlo" y se presionará la tecla enter
No seleccionamos ninguno y se presionará la tecla enter
Una vez más se dejará la opción default que es N
y se presiona la tecla enter.
Después de contestar la última pregunta, se comenzará a construir y compilar el proyecto, este proceso puede tardar un poco dependiendo de la red o de las capacidades de la computadora en que se esté ejecutando el proyecto.
Al final se presentará un mensaje en donde se informa que se terminó de crear el proyecto.
Para ejecutar el proyecto, se puede usar el wrapper de maven (ya incluido en el proyecto)
En un sistema _UNIX-like, se ejecuta de la siguiente manera:
./mvnw
En un sistema Windows, se ejecuta de la siguiente manera:
mvnw.cmd
Una vez que termine de arrancar el proyecto, se debería mostrar un mensaje que indica que la aplicación está ejecutándose en el puerto 8080.
La aplicación se puede ver en un navegador en el puerto 8080
JHipster permite crear, un pocos minutos, un proyecto funcional sin la necesidad de tener que escribir una sóla línea de código.
El proyecto generado utiliza los freamework mas recientes del mercado; además presenta una arquitectura que sigue tanto las buenas prácticas como las recomendaciones de cada freamework utilizado en el proyecto.
Sin embargo no solo genera proyectos, también permite crear CRUDs completos que incluyen desde el acceso a la base de datos hasta el cliente web, generando las pruebas unitarias y de integración de los mismos.
Para más información sobre las capcidades de JHipster, se recomienda ir al sitio del proyecto.