Este es el backend para una aplicación de comercio electrónico desarrollada con Spring Boot, Maven y MySQL. La aplicación está completamente dockerizada para un fácil despliegue y ejecución.
- API REST para la gestión de productos.
- Sistema de autenticación y autorización basado en roles con Spring Security.
- Persistencia de datos con Spring Data JPA y MySQL.
- Configuración para ejecución en contenedores con Docker y Docker Compose.
- Tener instalado Docker y Docker Compose.
- Tener instalado Java 17 y Maven (para construir el proyecto).
-
Construir el proyecto: Desde el directorio raíz, ejecuta el siguiente comando de Maven para compilar la aplicación y crear el archivo
.jar.mvn clean install -f ecommerce/pom.xml
-
Levantar los contenedores: Una vez construido el proyecto, utiliza Docker Compose para iniciar la aplicación y la base de datos.
docker-compose up --build
La aplicación estará disponible en
http://localhost:8080.
La aplicación utiliza autenticación básica (Basic Auth) para proteger sus endpoints. Al iniciar la aplicación por primera vez, se crea un usuario administrador por defecto:
- Usuario:
wigusa - Contraseña:
22021989.wgs - Rol:
ROLE_ADMIN
Deberás usar estas credenciales para interactuar con la API.
GET /api/products: Obtiene una lista de todos los productos.POST /api/products: Crea un nuevo producto. Requiere autenticación.
curl -v -X POST http://localhost:8080/api/products \
-u "wigusa:22021989.wgs"
-H "Content-Type: application/json"
-d '{
"name": "Laptop Gamer",
"description": "Una laptop para juegos de ultima generacion",
"price": 2500.00,
"stock": 25
}'Nota sobre Windows: Si usas la terminal de Windows (cmd.exe), es posible que necesites escapar las comillas dobles dentro del JSON o guardar el JSON en un archivo y cargarlo con -d @ruta/al/archivo.json para evitar problemas de codificación de caracteres.