Skip to content

馃棧馃ゾ A social network for hikers. End product of my Bachelor's Thesis.

License

Notifications You must be signed in to change notification settings

dgltorress/tfg-hikin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

96 Commits

Repository files navigation

Trabajo de Fin de Grado - HikIn

Puesta en marcha

Requisitos

  • Uno o varios ordenadores.
  • (Opcional) Un dispositivo m贸vil Android.
  • Un servidor MariaDB (instalado en un ordenador).
  • Node.js (instalado en un ordenador).
  • La APK instalada (m贸vil) o la aplicaci贸n web servida (ordenador). Ambas pueden encontrarse como una release en el repositorio.

Procedimiento

  1. En uno (o el 煤nico) de los ordenadores:

    1. Iniciar el servidor de MariaDB. En Windows es posible acceder a Servicios (services.msc) y ponerlo en marcha manualmente.

    2. Crear la base de datos. El respectivo script se encuentra en /backend/db/setup.sql.

      Los scripts pueden introducirse con la herramienta de l铆nea de comandos oficial o mediante un cliente con interfaz gr谩fica como HeidiSQL.

    3. Crear las funciones y disparadores. Los respectivos scripts se encuentran en /backend/db/functions.sql y /backend/db/triggers.sql.

    4. Poblar la base de datos con la informaci贸n m铆nima necesaria para funcionar. El respectivo script se encuentra en /backend/db/insertar_datos_iniciales.sql.

    5. (Opcional) Poblar la base de datos con recursos de ejemplo. El respectivo script se encuentra en /backend/db/insertar_datos_ejemplo.sql.

  2. En otro (o el mismo) ordenador:

    1. Situar jerarqu铆a de carpetas donde se guardar谩 el contenido multimedia.

    2. Abrir un puerto o enlace para que su contenido pueda ser servido al exterior. Si se trata del mismo ordenador que el que abrir谩 la aplicaci贸n, puede abrirse un servidor local con XAMPP y a帽adirse un alias al archivo xampp/apache/conf/httpd.conf.

  3. En otro (o el mismo) ordenador:

    1. Asociar a las variables de entorno de la API relativas a la base de datos (DB_*) la informaci贸n que permita establecer una conexi贸n con el ordenador que sirve la base de datos y acceder a ella como administrador. Estas variables se encuentran en:

      • El archivo de variables de entorno de la API (/backend/api/.env). Aqu铆 se encuentran las que utiliza la API.

      • La plantilla de variables de entorno de la API (/backend/api/.env.example). Aqu铆 se explica el significado de cada (NO se utiliza).

      Ser谩 necesario disponer de un usuario con permisos de administrador sobre la base de datos. 脡ste puede ser el usuario global root (si no se ha modificado), el usuario hikinadmin que se crea con el script setup.sql o cualquier otro que disponga de dichos permisos.

    2. Generar un token criptogr谩ficamente seguro, secreto y hexadecimal de 32 bytes y asociarlo a la variable JWT_SECRET del archivo de variables de entorno. Node.js puede generar un token con estas caracter铆sticas por medio del siguiente comando:

      node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

      Opcionalmente, es posible establecer un tiempo de caducidad espec铆fico para los tokens de usuario en la variable JWT_EXPIRE, que por defecto duran 24 horas.

    3. Configurar los directorios donde se guardar谩 cada tipo de recurso multimedia en el archivo de variables de entorno.

    4. (Opcional) Asociar un puerto y par谩metros alternativos con los que abrir la API en el archivo de variables de entorno. Por defecto se abrir谩 en localhost:3000.

    5. (Opcional) Modificar los ajustes de registros en el archivo de variables de entorno. Por defecto, los registros se muestran por consola y no se almacenan.

    6. (Opcional) Abrir un puerto o enlace de servidor si se van a realizar peticiones desde fuera del entorno local (por ejemplo, si se va a probar desde un dispositivo m贸vil).

  4. En un dispositivo m贸vil u otro (o el mismo) ordenador.

    1. Abrir la aplicaci贸n m贸vil (hikin.apk) o acceder localmente o desde un segundo ordenador a la aplicaci贸n web (con archivos listos para servir en www/*).

    2. Si se ha abierto desde un dispositivo m贸vil o un ordenador que NO est茅 sirviendo tambi茅n la API, acceder al men煤 de ajustes de la aplicaci贸n e introducir el enlace donde la API est谩 siendo servida.

Si se han seguido estos pasos, la aplicaci贸n estar谩 puesta en marcha y ser谩 completamente funcional.