Backend para una tienda de monstruos desarrollado con Java 21, Spring Boot y MySQL. Gestiona productos y reseñas mediante una API RESTful.
- Java 21
- Maven
- MySQL (con una base de datos llamada
monstershop) - IntelliJ IDEA (compatible con Spring Boot)
- Postman para probar la API
Clona el repositorio:
git clone https://github.com/debsrdev/monstershop.git
cd monstershopCrea la base de datos en MySQL (importante para que se creen las tablas):
CREATE DATABASE monstershop;Configura las credenciales en application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/monstershop
spring.datasource.username=TU_USUARIO
spring.datasource.password=TU_CONTRASEÑA
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
Instala las dependencias y compila el proyecto:
./mvnw clean installEjecuta el proyecto
./mvnw spring-boot:run(para entornos en Mac)
Desde IntelliJ, ejecuta la clase principal:
com.example.monstershop.MonsterShopApplication
O desde terminal:
./mvnw spring-boot:runEl backend estará disponible en:
http://localhost:8080
- GET
/api/products→ Lista todos los productos - GET
/api/products/{productId}→ Muestra un producto por ID - POST
/api/products→ Crea un producto
{
"name": "Monstruo Amarillo",
"price": 49.99,
"imageUrl": "https://img.freepik.com/psd-gratis/ilustracion-lindo-monstruo_23-2150382868.jpg",
"rating": 2.5,
"reviewCount": 0,
"featured": true
}- PUT
/api/products/{productId}→ Actualiza un producto
{
"name": "Monstruo Azul",
"price": 59.99,
"imageUrl": "https://img.freepik.com/psd-gratis/monstruo-azul-divertido_23-2150497615.jpg",
"rating": 4.3,
"reviewCount": 3,
"featured": false
}-
DELETE
/api/products/{productId}→ Elimina un producto -
GET
/api/reviews/{productId}→ Muestra las reviews de un producto -
POST
/api/reviews→ Añade una review
{
"username": "Carmen",
"rating": 4,
"body": "Muy simpático, aunque un poco caro.",
"productId": 1
}
Los tests están ubicados en src/test/java/com/example/monstershop.
Puedes ejecutarlos con:
./mvnw test