Aprende a desarrollar un sitio eCommerce con Spring Boot y Java 11

Aprende a desarrollar un sitio eCommerce con Spring Boot y Java 11 desde cero, en esta aplicación de ejemplo entenderás desde un nivel básico a intermedio el desarrollo de aplicaciones Java con Spring.

Lecciones

Configuración del Proyecto

Crear el proyecto
Estructurar el proyecto y crear las clases para el modelo
Cómo versionar el proyecto usando Git y GitHub
Mapeo de clases a tablas y relaciones JPA
Integrar Boostrap y la home del administrador 05
Crear el template para el header y el footer

Crear el CRUD para el producto

Crear el repository y clase de servicio CRUD producto
Crear el controller Producto y la vista mostrar
Crear la vista crear Producto y el menú para el administrador
Recurso: Plantilla de diseño (Copiar el enlace)
Definir el método guardar producto y logger para el Producto Controller
Implementar el método guardar producto
Implementar la funcionalidad mostrar productos administrador
Crear la funcionalidad para editar un registro producto
Crear la funcionalidad para eliminar un registro producto

Manejo de imágenes con Spring

Clase de servicio para subir la imagen del producto al servidor
Implementar la funcionalidad para cargar la imagen del producto
Probar la funcionalidad para cargar, editar, eliminar la imagen del producto
Mostrar los productos en la home del administrador

Home de usuario y carrito de compras

Mostrar los productos en la home del usuario
Template para las vistas del usuario
Mostrar los datos del producto en otra vista
Mostrar los datos del producto en la vista productohome
Redireccionar a la vista carrito
Obtener la cantidad y el id del producto (carrito)
Enviar los productos y la orden a la vista carrito
Mostrar los productos en la vista carrito
Funcionalidad eliminar productos del carrito
Mostrar el carrito desde la opción carrito del menú
Redirección a la vista resumenorden
Mostrar la información en la vista resumenorden
Crear Repository y clases de servicio (orden y detalle)
Método para generar el número de la orden
Funcionalidad para guardar la orden
Funcionalidad para buscar productos en la Home

Registro y login de usuario

Mostrar la vista registro de usuario
Funcionalidad registro de usuario
Mostrar la vista login de usuario
Autenticación de usuario temporal
Usar una variable de session para guardar el id del usuario
Implementar un fragment diferente para usuario logueado

Funcionalidades de usuario y administrador

Mostrar la vista compras para el usuario
Mostrar las compras para el usuario
Mostrar detalle de compras para el usuario
Funcionalidad cerrar la sesión del usuario
Funcionalidad para ver los usuarios del sistema
Funcionalidad para ver las ordenes al usuario ADMIN del sistema
Funcionalidad para ver los detalles de una orden

Seguridades

Crear el UserDetailService
Clase de configuración de seguridades
Configuración final y generación del JAR 50

Deployment en Digital Ocean

Configuración VPS Digital Ocean
Instalación JDK Java y MySQL
Deployment del JAR en Digital Ocean 53
Deployment del JAR en Digital Ocean 54
Creación usuario ADMIN y USER
Añadir productos y configuraciones directorios