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.
Creación del proyecto android25
- Instalar cordova globalmente con el paquete npm:
npm install -g cordova
- Crear el proyecto cordova
cordova create nombre_proyecto
- Copiar la parte frontend del proyecto en la raiz del proyecto cordova, sustituyendo los archivos necesarios.
- Ejecutar el comando
npm install
- Ejecutar el comando
npm audit fix
- Ejecutar el comando
cordova platform add android
- Configurar el archivo
config.xml
como se estime oportuno. - El archivo
package.json
se debe modificar de la siguiente forma:
# otros atributos
"type":"commonjs",
"scripts":{
# otros scripts
"build": "vite build && cp -r dist/* www/",
# otros scripts
},
# otros atributos
En relación a esta modificación, hay que tener en cuenta que el comando build en este caso agrega una instrucción Linux, por lo que si se está realizando esta operación con Windows, debe modificarse a esto:
{
"type": "commonjs",
"scripts": {
"build": "vite build && xcopy dist\\*.* www\\ /s /e /i /y",
// otros scripts
},
// otros atributos
}
- Modificar los archivos de configuración del frontend para que se realicen las llamadas oportunamente.
- Eliminar o comentar la parte referente a
sythesisSpeach
de ContadorSerieComponent.vue. - Ejecutar
npm run build
. - Ejecutar
cordova build android
. En caso de errores en la construcción realizar la siguiente secuencia:cordova clean android && cordova platform remove android
Si los problemas peristen, se recomienda empezar de nuevo el proceso26. (https://github.com/apache/cordova-android/issues/1337)