Esta guía explica paso a paso cómo configurar y ejecutar la aplicación Inventory Tracker API en un entorno local a partir de un archivo .zip.
- Java Development Kit (JDK): Versión 17 o superior
- MySQL: Versión 8.0 o superior
- Maven: Versión 3.6 o superior (opcional, ya que el proyecto incluye Maven Wrapper)
-
Instalar MySQL si aún no lo tienes instalado:
- Descarga MySQL desde el sitio oficial
- Sigue las instrucciones de instalación para tu sistema operativo
-
Ejecutar el script SQL para crear la base de datos:
- Abre una terminal o línea de comandos
- Inicia sesión en MySQL con un usuario con privilegios administrativos:
mysql -u root -p - Introduce tu contraseña cuando se te solicite
- Ejecuta el script SQL que se encuentra en el archivo .zip:
(El archivo se encuentra en
source ruta/al/archivo/inventory_tracker_javier.sqlsrc/main/resources/scripts/inventory_tracker_javier.sqldentro del proyecto)
-
Verificar la instalación:
- El script creará:
- Un usuario MySQL llamado 'javier' con contraseña 'C12345678!'
- Una base de datos llamada 'inventory_tracker'
- Tablas para categorías, proveedores, productos, transacciones y usuarios
- Datos de ejemplo para todas las tablas
- El script creará:
-
Descomprime el archivo .zip en una ubicación de tu elección
-
Verifica la estructura del proyecto:
- Asegúrate de que la estructura del proyecto incluye las carpetas
src,pom.xmly los scripts de Maven Wrapper (mvnwymvnw.cmd)
- Asegúrate de que la estructura del proyecto incluye las carpetas
- Revisar la configuración de la base de datos:
- Abre el archivo
src/main/resources/application.properties - Verifica que la configuración de la base de datos coincida con tu entorno:
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/inventory_tracker spring.datasource.username=javier spring.datasource.password=C12345678!
- Si has modificado algún parámetro durante la creación de la base de datos (nombre de usuario, contraseña, nombre de la base de datos), actualiza este archivo en consecuencia
- Abre el archivo
-
Usando Maven Wrapper (recomendado, no requiere instalación de Maven):
- Abre una terminal o línea de comandos
- Navega hasta la carpeta raíz del proyecto (donde se encuentra el archivo
pom.xml) - En sistemas Unix/Linux/macOS:
./mvnw spring-boot:run - En Windows:
mvnw.cmd spring-boot:run
-
Usando Maven (si ya lo tienes instalado):
- Abre una terminal o línea de comandos
- Navega hasta la carpeta raíz del proyecto
- Ejecuta:
mvn spring-boot:run
-
Usando tu IDE (IntelliJ IDEA, Eclipse, VS Code, etc.):
- Importa el proyecto como un proyecto Maven
- Busca la clase
InventoryTrackerApiApplication.javaensrc/main/java/com/javiergutierrez/inventory_tracker_api/ - Ejecuta esta clase como una aplicación Java
-
Acceder a la API:
- La aplicación se ejecutará en
http://localhost:8080por defecto - Puedes acceder a la documentación de la API en
http://localhost:8080/swagger-ui.html
- La aplicación se ejecutará en
-
Credenciales de usuario:
- El script SQL ha creado varios usuarios de prueba:
- Administrador: username
administrador_prueba, passwordpassword(encriptada en la base de datos) - Empleado: username
empleado_prueba, passwordpassword - Cliente: username
cliente_prueba, passwordpassword
- Administrador: username
- El script SQL ha creado varios usuarios de prueba:
-
Error de conexión a la base de datos:
- Verifica que MySQL esté en ejecución
- Comprueba que el usuario y la contraseña en
application.propertiessean correctos - Asegúrate de que la base de datos
inventory_trackerexista
-
Error de versión de Java:
- Verifica que estás usando Java 17 o superior:
java -version - Si tienes múltiples versiones de Java instaladas, asegúrate de que tu JAVA_HOME apunte a la versión correcta
- Verifica que estás usando Java 17 o superior:
-
Errores de Maven:
- Si encuentras errores relacionados con dependencias, intenta limpiar el caché de Maven:
o
./mvnw cleanmvn clean
- Si encuentras errores relacionados con dependencias, intenta limpiar el caché de Maven:
- Esta aplicación utiliza Spring Boot 3.4.3
- Incluye Spring Security para la autenticación y autorización
- Utiliza JWT para la gestión de tokens
- La documentación de la API está disponible a través de Swagger UI