E-commerce: Spring Boot + Angular con PayPal
destacadoTienda en línea con catálogo, carrito persistente, pagos con PayPal verificados en el backend y panel de administración por roles.
## Contexto Tienda online desplegada en tienda.edqs.online, con backend en Spring Boot 3 (Java 17, arquitectura hexagonal) y frontend en Angular 16. ## Funcionalidades - Catálogo con buscador, ordenamiento y detalle de producto. - Carrito persistente e inicio de sesión con JWT. - Pago con PayPal: el backend calcula el monto desde la orden y solo la confirma tras verificar con PayPal el pago y su importe. - Cada cliente solo ve sus propias órdenes; la gestión es exclusiva del rol ADMIN. - CRUD de productos (con imagen) y categorías para administradores.
Problema
Un e-commerce de ejemplo suele confiar en el monto que envía el navegador y exponer las imágenes directamente: dos agujeros que en una tienda real cuestan dinero.
Solución
Dominio, casos de uso e infraestructura separados (puertos y adaptadores) con Spring Data JPA, MapStruct y Spring Security + JJWT. Las imágenes van a un bucket privado de MinIO y el backend las sirve; Nginx sirve la SPA y hace de proxy hacia la API.
Resultado
En producción en tienda.edqs.online con PayPal sandbox, desplegado con Docker Compose y un único puerto publicado.