Desarrollar un sitio de venta de productos que integre funcionalidades de backend utilizando .NET y frontend utilizando Angular, aplicando los conceptos aprendidos durante el curso.
- Los trabajos podrán ser realizados en grupos de 3 o 4 personas.
- Cada miembro del grupo debe participar activamente, contribuyendo al proyecto a través de commits en el/los repositorio/s.
- Roles de Usuarios:
- Rol
admin
: puede crear, editar y eliminar productos y categorías. - Rol
user
: puede visualizar y editar productos y categorías, pero no puede crear ni eliminar productos o categorías.
- Rol
- Gestión de Productos y Categorías:
- Desde el back office se debe permitir:
- Crear, editar y eliminar productos (solo para rol
admin
). - Crear, editar y eliminar categorías (solo para rol
admin
). - Visualizar y editar productos y categorías (para ambos roles).
- Crear, editar y eliminar productos (solo para rol
- Desde el back office se debe permitir:
- Gestión de Ventas:
- Crear API endpoints que permitan registrar y visualizar las ventas en el backend.
- Visualización y Selección de Productos:
- Los usuarios finales podrán navegar por los productos disponibles sin necesidad de registrarse.
- Los productos deben estar organizados por categorías.
- Cada producto debe mostrar:
- Nombre
- Descripción breve
- Precio
- Imagen principal
- Puntuación de los usuarios
- Carrito de Compra:
- El usuario podrá:
- Agregar productos al carrito especificando la cantidad deseada.
- Modificar la cantidad de productos en el carrito.
- Eliminar productos del carrito.
- Al finalizar la compra, el carrito debe vaciarse automáticamente, permitiendo al usuario iniciar una nueva compra desde cero.
- El usuario podrá:
- Registro de Ventas:
- Al finalizar la compra, se registrará la venta en el backend con la siguiente información:
- ID de la venta.
- ID, cantidad y valor unitario de cada producto.
- El usuario recibirá un mensaje de confirmación:
"Hemos registrado tu venta con el ID xxxx y te contactaremos a la brevedad. Podrás utilizar este código para realizar el seguimiento de tu compra."
(donde xxxx es el ID de la venta registrada en el backend).
- Al finalizar la compra, se registrará la venta en el backend con la siguiente información:
- Diseño Responsivo:
- El diseño debe seguir el enfoque Mobile First para garantizar una buena experiencia de usuario (UIX).
- Gestión de Imágenes:
- Permitir agregar varias imágenes a cada producto.
- Actualización de Inventario:
- Implementar un sistema para actualizar el inventario, descontando del stock inicial la cantidad vendida en cada transacción.
- Ordenamiento de Productos:
- Permitir que los usuarios ordenen los productos por:
- Precio
- Puntuación (rating).
- Permitir que los usuarios ordenen los productos por:
- Uso de Librerías de Terceros:
- Integrar librerías externas para funcionalidades adicionales (ejemplo: carruseles de imágenes, diseño de tablas, etc.).
- Integración de Pasarela de Pago:
- Implementar Mercadopago como pasarela de pago para simular transacciones.
- Enlaces a los repositorios de GitHub donde se encuentre el código fuente del proyecto completo y se refleje el historial de commits de cada integrante del equipo.
- Una breve presentación que explique el diseño de la arquitectura y las decisiones tomadas durante el desarrollo del proyecto. Utilizaremos esta presentación para la defensa del trabajo.
Se valorará especialmente la correcta implementación de las funcionalidades requeridas, la calidad del código, el diseño responsivo, la UIX, y la estructura modular y escalable del proyecto. Los puntos opcionales sumarán valor a la calificación final.
¡Éxitos! 😊