Este es un proyecto que consiste en crear una biblioteca virtual para una universidad.
Herramientas o técnologias que se van a usar:
- Laravel 11.x y moonshine-laravel
Para crear la parte del Panel Administrador, con un CRUD para libros, usuarios, alumnos, autorizaciones, etc.
Requisitos
* php >= 8.1
* composer >= 2.4.1
* laravel >= 11.9
* moonshine-laravel >= 2.22
* mysql >= v5.2
* database: libhubtec_db
* collaction: utf8mb4
* collaction: utf8mb4_spanish2_ci
Sitio de servicio: http://192.168.33.99:8000
Puerto de servicio: 8000
- Angular 18.x
Para crear la parte de FrontEnd de la biblioteca virtual para la universidad.
Requisitos
* Node >= 20.11.1
* npm >= 9.6.2
* Angular >= 18.2.0
* PrimeNG >= 17.18.11
* PrimeIcons >= 7.0.0
* PrimeFlex >= 3.3.1
Sitio de servicio: http://192.168.33.99:4200
Puerto de servicio: 4200
- SpringBoot 3.x
Para crear la parte de BackEnd, desarrollar un API para consumir en Angular y moonshine-laravel
Requisitos
* java openjdk >= 17.0.2
* Apache Maven >= 3.6.3
* spring boot >= 3.3.5
* Spring Dependencias
* MySQL Driver
* Spring Data JPA
* Spring Boot DevTools
* Spring Web
* Spring Data JDBC
* mysql >= v5.2
* database: libhubtec_db
* collaction: utf8mb4
* collaction: utf8mb4_spanish2_ci
Sitio de servicio: http://192.168.33.99:5800
Puerto de servicio: 5800
- Mailpit
Es un servidor local para probar envios de correo electrónicos mediante STMP
Sitio de servicio: http://192.168.33.99:8025
Puerto de servicio: 8025
- Node >= v20.11.1
- pnpm >= v9.9.0
- Laravel >= 11.x
- PHP >=8.1
- moonshine-laravel
- Angular >= 17.x
- Spring Boot 3
- Apache Maven >= 3.6.3
- jdk >= 17.0.2
- jre >= 17.0.11
- MySQL v5.7
- Mailpit v1.21.4
Paso 1) Accerder a la ruta raíz (root) el proyecto, a la par de archivo Vagrantfile
Ejecuta el siguiente comando, desde la terminal.
$ vagrant up
Ejecuta el siguiente comando, desde la terminal para acceder a la máquina virtual.
$ vagrant ssh
Advertencia: Si se usa Vagrant como máquina virtual, este caja de Vagrant está configurado como una red privada,
con dirección IP de 192.168.33.99
, por lo tanto para acceder a los serivcios de este proyecto,
es necesario cambiar localhost
por la dirección IP de la caja de Vagrant (y viceversa), sería de está manera:
Sitio de servicio Laravel 11.x: http://192.168.33.99:8000
Sitio de servicio Angular 18.x: http://192.168.33.99:4200
Sitio de servicio SpringBoot 3.x: http://192.168.33.99:5800
Sitio de servicio Mailpit: http://192.168.33.99:8025
NOTA: Si no se está usando Vagrant como máquina virtual es necesario cambiar la dirección IP (192.168.33.99
) de la caja de Vagrant
por localhost
, en archivos de Dockerfile y Docker-compose.
Paso 1) Accerder a la ruta raíz (root) el proyecto, a la par de archivo docker-compose.yml
Ejecuta el siguiente comando, desde la terminal.
$ cd workspace
Paso 2) Convetir el achivo setup.sh
en un archivo ejecutable o script de linux y ejecutarló.
Además de crear variable de entorno, instalar nodejs, y crear alias para linux
Ejecuta el siguiente comando, desde la terminal.
$ dos2unix ./setup.sh && ./setup.sh && source ~/.bashrc
Paso 3) Construir todos los servicios de docker-compose
Se construye la imagen, contenedor y ejecuta cada servicio que compone docker-compose
$ doc-again
Paso 4) Comienza a probar el proyecto
Felicidades ya puedes acceder a los sitios del proyecto, que son:
-
Sitio de servicio Laravel 11.x: http://192.168.33.99:8000
usuario: admin@admin.com
contraseña: password
-
Sitio de servicio Angular 18.x: http://192.168.33.99:4200
usuario: victor.maximo@example.com
contraseña: password
-
Sitio de servicio SpringBoot 3.x: http://192.168.33.99:5800
-
Sitio de servicio Mailpit: http://192.168.33.99:8025