/ProductApp-Sb3-SqlAzure-JUnit5-Java17-Sonarqube

Proyecto Java backend destacando Spring Boot 3, SQL Azure, JUnit 5, y Java 17. Ideal para evaluar habilidades en desarrollo eficiente y pruebas unitarias. [MIT]

Primary LanguageJavaMIT LicenseMIT

ProductApp-Sb3-SqlAzure-JUnit5-Java17-Sonarqube

Proyecto Backend de "ProductApp" pensado para demostrar habilidades fundamentales para un desarrollo eficiente, pruebas unitarias y otras buenas practicas.

Enlace al Repositorio del Frontend: ProductApp Frontend

Table of Contents

  1. Resumen
  2. Tecnologías Utilizadas
  3. Empezar
  4. Documentación
  5. Contribuciones
  6. Licencia

1. Resumen

Esta es una API RESTful simple para la gestión de productos. Proporciona operaciones CRUD básicas (Crear, LeerTodos, LeerPorId, Actualizar, Eliminar) para entidades de productos.

2. Tecnologías Utilizadas

  • Spring Boot 3
  • Maven
  • Java 17
  • SQL Azure
  • Postman
  • JUnit 5
  • Mockito
  • SonarQube

3. Empezar

3.1 Requisitos

  • Git
  • Java 17 por Sonarque
  • Maven
  • Mysql

3.2 Configuracion

Ejemplo de credenciales mysql

  • Usuario: root
  • Contraseña: mypsw
  1. Crear DATABASE mediante consola:
    Ingresar a mysql con clave mypsw despues de ejecutar mysql -u root -p

Usar script para crear y verificar base de datos:

CREATE DATABASE products_db;
show databases;
use products_db;
  1. Modificar application-dev.properties:
  • spring.datasource.url= jdbc:mysql://localhost:3306/[DB]?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
  • spring.datasource.username=[USER]
  • spring.datasource.password=[PASSWORD]
spring.datasource.url=jdbc:mysql://localhost:3306/products_db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=mypsw

3.3 Instalación

  1. Clonar el repositorio:
git clone https://github.com/ArlandMv/ProductApp-Sb3-SqlAzure-JUnit5-Java17-Sonarqube
  1. Navegar al directorio del proyecto: cd ProductApp-Sb3..
  2. Construir el proyecto: mvn clean install
  3. Ejecutar la aplicación: java -jar target/api-gestion-productos.jar

3.4 Tests

Ejecutar todas las pruebas unitarias:

mvn test

Ejecutar una prueba unitaria específica por su nombre de clase:

mvn -Dtest=NombreDeLaClaseTest test

3.5 Primeras interacciones con la API

curl -X POST http://localhost:8080/api/v1/products

4. Documentación

4.1 Product Model v1:

Parámetro Tipo Descripción
id Long GeneratedValue
name String Nombre del producto
precio Double Precio del producto
lastModified Date Ultima vez Modificado

4.2 Puntos de Acceso (Endpoints)

  • /api/v1/productos
  • /api/v1/productos//{id}

4.3 Documentos Postman

Consulte el archivo Postman para obtener más detalles.

5. Contribuciones

Siéntase libre de contribuir abriendo problemas o enviando solicitudes de extracción.

6. Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo LICENSE para obtener más detalles.