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
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.
- Spring Boot 3
- Maven
- Java 17
- SQL Azure
- Postman
- JUnit 5
- Mockito
- SonarQube
- Git
- Java 17 por Sonarque
- Maven
- Mysql
Ejemplo de credenciales mysql
- Usuario: root
- Contraseña: mypsw
- Crear DATABASE mediante consola:
Ingresar a mysql con clave mypsw despues de ejecutarmysql -u root -p
Usar script para crear y verificar base de datos:
CREATE DATABASE products_db;
show databases;
use products_db;
- 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
- Clonar el repositorio:
git clone https://github.com/ArlandMv/ProductApp-Sb3-SqlAzure-JUnit5-Java17-Sonarqube
- Navegar al directorio del proyecto:
cd ProductApp-Sb3..
- Construir el proyecto:
mvn clean install
- Ejecutar la aplicación:
java -jar target/api-gestion-productos.jar
Ejecutar todas las pruebas unitarias:
mvn test
Ejecutar una prueba unitaria específica por su nombre de clase:
mvn -Dtest=NombreDeLaClaseTest test
curl -X POST http://localhost:8080/api/v1/products
Parámetro | Tipo | Descripción |
---|---|---|
id |
Long |
GeneratedValue |
name |
String |
Nombre del producto |
precio |
Double |
Precio del producto |
lastModified |
Date |
Ultima vez Modificado |
/api/v1/productos
/api/v1/productos//{id}
Consulte el archivo Postman para obtener más detalles.
Siéntase libre de contribuir abriendo problemas o enviando solicitudes de extracción.
Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo LICENSE para obtener más detalles.