/LibHubTec

Este es un proyecto de una portal de biblioteca virtual para una universidad

Primary LanguagePHP

LibHubTec

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

Requisitos

  • 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

Arrancar Vagrant como maquina virtual

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.

Arrancar servicios (del proyecto) usando 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:


Vista previas

preview1.jpg

preview2.jpg

preview3.jpg

preview4.jpg

preview5.jpg

preview6.jpg

preview7.jpg

preview8.jpg

preview9.jpg

preview10.jpg

preview11.jpg

preview11.jpg

preview11.jpg

preview11.jpg