Xplora es un sitio web diseñado para ayudarte a encontrar el regalo perfecto para tus seres queridos, ofreciéndote una amplia variedad de opciones para sorprenderlos y demostrarles cuánto te importan.
Todos los comandos descritos en esta guía fueron probados en una terminal de GitBash corriendo en Windows 10. Para ejecutar esta aplicación, necesitas tener instalados los siguientes programas:
El frontend está construido con React, por lo que necesitas Node.js y npm.
Para verificar si los tienes instalados, ejecuta:
node -v
npm -vSi no los tienes, descárgalos desde aqui. Una vez esté lista la instalación agrega el programa a tu PATH
La aplicación usa MySQL como base de datos. Para comprobar si MySQL está instalado, ejecuta:
mysql --versionEn caso de estar instalado, con este comando verás la versión. Para correr la aplicación usamos la versión 8.0
Si no está instalado, sigue las instrucciones descritas aqui. Una vez esté lista la instalación agrega el programa a tu PATH
Asegúrate de que MySQL esté corriendo como servicio en tu equipo antes de iniciar la aplicación.
El backend está construido con Spring Boot y usa Maven para la gestión de dependencias. Para comprobar si Maven está instalado, ejecuta:
mvn -vSi no lo tienes, instálalo siguiendo las instrucciones de aqui. Una vez esté lista la instalación agrega el programa a tu PATH
Sigue estos pasos para levantar la aplicación:
Antes de ejecutar la aplicación, configura MySQL de la siguiente manera:
-
Inicia sesión en MySQL con el usuario
root:mysql -u root -p
-
Luego de ingresar la clave del usuario, crea una base de datos llamada
xplora_db:CREATE DATABASE xplora_db; -
Crea un usuario llamado
app_usercon la contraseñaroot:CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'root';
-
Concede todos los privilegios al usuario en la base de datos:
GRANT ALL PRIVILEGES ON xplora_db.* TO 'app_user'@'localhost'; FLUSH PRIVILEGES;
-
Sal de mysql y desactiva
public-key-retrievalpara la base de datos xplora_db desde la consola ejecutando el siguiente comando y posteriomente ingresando la clave del usuario 'app_user' (en este caso 'root')* :exit; mysql -u app_user -p -h localhost --default-auth=mysql_native_password xplora_db
Navega al directorio frontend del repositorio y ejecuta:
npm install # Instalar dependencias
npm run build # Construir la versión estática de la aplicación
rm -r ../src/main/resources/static/assets # Borrar archivos estáticos que podrían existir de builds anteriores
cp -r dist/* ../src/main/resources/static/ # Pegar los archivos estáticos generados en el directorio que usará SpringbootAsegúrate de que MySQL esté corriendo como servicio en tu equipo antes de iniciar la aplicación.
Navega al directorio Xplora y ejecuta:
mvn clean install # Compilar y preparar la aplicación
mvn spring-boot:run # Iniciar el backendPor defecto, la aplicación se ejecutará en http://localhost:8080.
-
Si antes de seguir esta guía habías creado una base de datos 'xplora_db', o habías levantado la aplicación con versiones anteriores, es recomendable que elimines la base de datos y la vuelvas a crear siguiendo los pasos descritos en esta guía. De lo contrario, puede ser que la base de datos se quede "atrapada" en su estado previo.
-
Si pudiste ejecutar exitosamente todos los comandos y levantar la aplicación por primera vez, tendrás que detenerla y levantarla un par de veces más para que la base de datos alcance su estado deseado
-
Por favor documenta cualquier problema, duda o desviación en la secuencia de pasos que se genere al seguir esta guía para poder mejorarla en el futuro
Éxito. 🚀