Estructura de la aplicación
La aplicación se divide en las siguientes partes, de las cuales se especifican las tecnologías, frameworks y librerías utilizadas:
- Frontend:
- Backend:
Como tecnología opcional de construcción, puesto que no es necesaria, este proyecto usa Docker y se ha usado Corodva para la generación de la aplicación para dispositivos móviles.
Puesta en marcha
Para poder ejecutar una versión de pruebas se debe:
- Instalar las tecnologías necesarias en su computadora.
- Clonar el proyecto.
- Habilitar una MongoDB para poder acceder a ella. (Se puede levantar en docker con este docker-compose)
- Modificar el archivo /src/main/resources/configuracion/gestiondb.properties a la ruta adecuada para el acceso a la base de datos.
- Crear el archivo /src/main/resources/configuracion/secret.properties con las siguientes variables:
- spring-mail-host=host_servicio(smtp.gmail.com u otro similar)
- spring-mail-port=puerto_del_servicio (587 o 25 para smtp)
- spring-mail-usuario=usuario@correo.com
- spring-mail-password=password_de_aplicacion (password para aplicaciones obtenido en la cuenta del correo) Si son necesarias otras variables para la base de datos se pueden añadir.
- Ejecutar el proyecto con el comando
gradle bootrun
en la raiz del proyecto. (Hasta aquí, se estará ejecutando el backend) - Acceder a la carpeta /frontend.
- Instalar las dependencias del proyecto con el comando
npm install
o el equivalente. - Ejecutar el comando
npm audit fix
. - Modificar el archivo /frontend/src/configuracion.json para que la urlBase coincida con la dirección donde actualmente ejecuta la API.
- Ejecutar el comando
npm run dev
- La base de datos de usuarios se encontrará vacía, por lo que se deberá crear un usuario inicial. Para ello crear manualmente un documento en la colección de user y el respectivo en usuarios. Las clases equivalentes son UsuarioExterno y Usuario. Una vez se hayan introducido los datos, se podrá proceder a la recuperación de la contraseña por correo(introducir un correo válido). También se puede introducir el valor de un Hash de contraseña calculado previamente mediante el PasswordEncoder.
Configuración en servidor Linux
- Ejecutar los pasos 1,2,3,4,6,7 y 8.
- Dar permisos de ejecución al script deploy.sh en la raiz del proyecto.
- Configurar los docker-compse.yml en la carpeta raiz y en la carpeta /frontend para que salga por los puertos adecuados.
- Ejecutar el paso 9.
- Ejecutar el script desde la terminal.