Este proyecto es una aplicación web de una tienda de tacos en la que los usuarios pueden diseñar sus propios tacos eligiendo entre una variedad de ingredientes. Basado en Spring in Action, el proyecto utiliza Spring Boot y Thymeleaf para crear una experiencia de diseño de tacos con operaciones de orden.
- Diseñar Tacos: Los usuarios pueden seleccionar ingredientes para crear sus propios tacos personalizados.
- Gestión de Ordenes: Los usuarios pueden enviar y confirmar órdenes de tacos, que se almacenan en una base de datos.
- Validación de Ordenes: Las órdenes se validan antes de ser procesadas para asegurar la integridad de los datos.
- Sesión del Usuario: La aplicación usa sesiones para almacenar temporalmente las órdenes hasta que el usuario las confirme.
GET /design
: Muestra el formulario de diseño de tacos, donde el usuario puede elegir entre varios ingredientes.POST /design
: Procesa el diseño del taco creado por el usuario y lo guarda en la orden actual.
GET /orders/current
: Muestra el formulario para completar la orden, donde el usuario revisa su pedido.POST /orders
: Procesa la orden y la guarda en la base de datos, completando la sesión del usuario.
- Java 17: Lenguaje de programación principal.
- Spring Boot: Framework para simplificar la creación de aplicaciones web.
- Thymeleaf: Motor de plantillas para generar vistas dinámicas en el lado del servidor.
- Lombok: Para reducir el código repetitivo, como getters, setters y el registro de logs (
@Slf4j
). - Validación de Datos: Uso de anotaciones para validar los datos de los tacos y las órdenes.
La base de datos almacena dos tipos principales de información:
- Ingredientes: Cada ingrediente tiene un tipo (ej. "Carne", "Verduras", "Salsas") y un identificador único.
- Ordenes: Cada orden contiene una lista de tacos personalizados y detalles del pedido.
- Clona este repositorio.
- Asegúrate de tener Java 17 y Maven instalados.
- Ejecuta el comando
mvn spring-boot:run
en la raíz del proyecto. - Accede a la aplicación en http://localhost:8080/design para comenzar a diseñar tus tacos.
¡Disfruta creando tus tacos personalizados! 🌮