Sprint 3 — Formularios, carrito y checkout
Semanas 5–6: de inputs controlados al flujo completo de checkout en eshop.com.
Módulo 1: Buenas prácticas en formularios de React
Inputs controlados vs no controlados, estructura por responsabilidad y accesibilidad mínima en el formulario de checkout de eshop.
Módulo 2: Validaciones y manejo de errores en formularios
Validación síncrona con useFormReducer, validación asíncrona con debounce y AbortController, y errores del servidor mapeados a campos del formulario.
Módulo 3: Carrito, cantidades y sincronización con backend
CartContext con reducer, persistencia en localStorage, actualización optimista y creación de órdenes con POST /api/orders.
Módulo 4: Clase semana 5 — Formulario de envío y creación de orden
Live coding del flujo completo: formulario de dirección con validaciones, POST /api/orders y redirección a confirmación.
Módulo 5: Clase semana 6 — UX del carrito y casos límite
Carrito vacío con CTA, feedback visual al agregar productos, badge de cantidad en el header, prevención de doble orden y manejo correcto de errores del servidor.
Drills Sprint 3 — Tanda 1
Práctica deliberada de inputs controlados, validación síncrona con useFormReducer, y gestión de errores de formularios en React.
Drills Sprint 3 — Tanda 2
Validación asíncrona con debounce, AbortController, CartContext con reducer, y sincronización con el backend en eshop.
Sesión de Práctica Sprint 3: Checkout Completo
Construcción en vivo del flujo de checkout integrado: formulario validado, carrito sincronizado con backend, y creación de órdenes.
Entregable Sprint 3: Integrar Checkout End-to-End
Capstone del sprint: abre un PR contra el repo de eshop integrando validación, carrito y creación de órdenes en MongoDB.