Skip to content

🚀 Proyecto Final: Implementación de Variantes de Producto #231

@diegotc86

Description

@diegotc86

Contexto

Como evaluación final del programa, deberán trabajar en equipos de 2 personas para implementar un nuevo feature en el ecommerce actual. El objetivo es simular el flujo de trabajo profesional, abarcando desde el modelado de datos hasta la experiencia de usuario y la integración con sistemas existentes.


📝 Requerimiento principal

Nuestro ecommerce ha experimentado un crecimiento significativo en los últimos meses, y los clientes están demandando mayor variedad en nuestros productos. Para satisfacer esta demanda de manera escalable y mejorar la experiencia de usuario, es fundamental evolucionar nuestra plataforma para que soporte variantes de producto.

La implementación de variantes, en lugar de simplemente crear más productos individuales, es crítica para nuestro modelo de negocio. Permitirá que, en lugar de tener páginas de producto separadas para "Polo Talla S" y "Polo Talla M", podamos consolidarlos en un único producto "Polo" con opciones de talla seleccionables. Este enfoque simplifica la navegación para el cliente, mejorando su experiencia y nuestra capacidad operativa.

Especificaciones de variantes:

  • Los polos deben tener opciones de talla (small, medium, large). La talla no afecta el precio.
  • Los stickers deben tener diferentes tamaños (3×3 cm, 5×5 cm, 10×10 cm). El tamaño sí afecta el precio (tienen de libertad de definir los precios)
  • Las tazas no tienen variantes.

Detalles a implementar

  • Modificar la base de datos y el backend para soportar variantes de producto.

  • Actualizar la UI para permitir seleccionar variantes en la página de producto (/products/:id), siguiendo el diseño de Figma.

  • Reflejar la variante seleccionada en el carrito y el checkout, según el diseño de Figma.

  • Adaptar la lógica de negocio para que el precio y la información del producto en el carrito y la orden correspondan a la variante seleccionada.

  • Página de Categoría (Decisión de Diseño): Actualmente, la página de categoría muestra una grilla de productos con su imagen, título y precio, junto a un filtro de precios (mínimo-máximo). La introducción de variantes que afectan el precio presenta un desafío de diseño y experiencia de usuario. El equipo deberá tomar una decisión informada sobre cómo adaptar esta página, considerando preguntas como:

    • Para un producto con variantes, ¿qué precio se debe mostrar en la grilla? ¿Un rango (ej: "S/10 - S/15"), un precio base (ej: "Desde S/10")?
    • ¿Cómo debería funcionar el filtro de precios ahora? ¿Debería filtrar por el precio base o considerar el rango de precios de las variantes?
    • ¿Se debería incluir información de las variantes disponibles en la grilla de productos?

    Importante: Deberán implementar su solución y justificarla detalladamente en el README, explicando cómo su diseño aborda estos desafíos y mejora la experiencia del usuario.

  • Actualizar los tests existentes y/o crear nuevos tests para cubrir los casos de variantes.

  • Asegurarse de que el chatbot pueda responder preguntas sobre variantes (por ejemplo, "¿Tienen stickers de 10×10 cm?").


👥 Trabajo en equipo

  • El proyecto debe ser realizado en equipos de 2 personas.
  • Ambos integrantes deben contribuir activamente. El historial de commits será revisado.
  • Incluyan en el README un breve resumen de las tareas realizadas por cada integrante.
  • Durante la entrevista técnica, ambos deberán estar preparados para explicar cualquier parte del proyecto y se evaluará su capacidad de trabajo en equipo.

🧑‍💻 Entrega y evaluación

1. Entrega

  • Creen una nueva rama a partir de main para desarrollar la funcionalidad.
  • Suban su solución a un repositorio de GitHub y, al finalizar, abran un Pull Request desde su rama de trabajo hacia main.
  • Incluyan instrucciones claras para correr el proyecto y las migraciones en el README.
  • Incluyan el resumen de tareas y la justificación de decisiones en el README.

2. Entrevista técnica (30-45 min)

  • Simularemos una entrevista técnica de trabajo.
  • Deberán explicar y justificar su solución, modelado de datos, decisiones de UI y lógica de negocio.
  • Se evaluará tanto la calidad técnica como la comunicación y el trabajo en equipo.

3. Criterios de evaluación

  • Implementación técnica (50%): Cumplimiento de requerimientos, calidad de código, migraciones, UI, tests, integración con chatbot.
  • Justificación y comunicación técnica (30%): Capacidad de explicar y argumentar decisiones, claridad en la exposición, reflexión sobre posibles mejoras.
  • Trabajo en equipo y habilidades blandas (20%): Colaboración, organización, comunicación y dinámica en la entrevista.

📅 Fecha de entrega

  • A más tardar el domingo 31 de agosto del 2025

📌 Notas

  • Sigan los diseños de Figma para la página de producto, carrito y checkout.
  • El diseño de la vista de categoría es libre, pero debe estar justificada.
  • Cualquier duda, consulten por el canal oficial de Discord.

¡Mucho éxito! Este proyecto es una oportunidad para demostrar todo lo aprendido y prepararse para desafíos reales en la industria.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions