Este proyecto es una plataforma E-commerce desarrollada con React + Vite, enfocada en la gestion y visualizacion de productos tecnologicos.
- React
- React Router DOM
- Vite
- CSS Modules
- LocalStorage API
- Clonar el repositorio.
- Instalar dependencias:
npm install- Ejecutar en desarrollo:
npm run dev- Validar calidad y build de produccion:
npm run lint
npm run buildEn esta fase se preparo la base del frontend con Vite + React y la estructura inicial del proyecto.
- Crear el proyecto y organizar carpetas base.
- Definir layout inicial con Header, Navbar, Footer y area principal.
- Aplicacion inicial funcional.
- Estructura base lista para evolucionar por iteraciones.
En esta fase se comenzo a modelar el catalogo y su presentacion en tarjetas.
- Definir datos de producto.
- Mostrar productos en cards reutilizables.
- Vista de productos funcional.
- Base para filtros y detalle de productos.
En esta fase se implemento gestion de productos desde la interfaz.
- Crear, editar y eliminar productos.
- Consolidar flujo de mantenimiento de catalogo.
- CRUD operativo en la vista de listado.
- Componentes de formulario y acciones por producto.
En esta fase se robustecio la persistencia local de datos y la logica de apoyo.
- Persistir informacion en localStorage.
- Separar utilidades de almacenamiento.
- Datos de productos persistentes.
- Base preparada para carrito, checkout y ordenes.
En esta fase se transformo la experiencia plana del catalogo en una experiencia dinamica por categorias.
- Rating dinamico con estrellas por producto.
- Detalle en modal sin perder contexto de navegacion.
- Home categorizado con productos destacados por rating.
- Filtro por nombre en pagina de categoria.
- Normalizacion de datos (rating, stock, precio).
- Refactor de persistencia en utilidades.
- Navegacion por estado en App para Home/Categorias/CRUD.
- Catalogo mas navegable y enfocado en descubrimiento.
En esta fase se completo el flujo de agregar al carrito y administrar cantidades.
- Agregar producto al carrito desde cards y modal.
- Ver contador de unidades en navbar.
- Ajustar cantidades en carrito (+/-).
- Eliminar productos individuales.
- Vaciar carrito completo.
carrito_tienda: conserva el carrito al recargar.
- Flujo de carrito completo y persistente.
En esta fase se cerro el flujo de compra iniciado con carrito.
- Usuario agrega productos al carrito.
- Entra a Cart.
- Presiona Proceder al checkout.
- Completa formulario de compra.
- Selecciona envio y metodo de pago.
- Confirma pedido.
- Visualiza pantalla de confirmacion.
ordenes_tienda: guarda pedidos confirmados.- Al confirmar, el carrito se vacia.
- Compra end-to-end implementada.
En esta fase se migro la navegacion basada en estado a rutas reales con react-router-dom.
/-> Home/products-> Listado de productos (CRUD)/category/:categoryName-> Productos por categoria/cart-> Carrito de compras/checkout-> Formulario de checkout/order-confirmation-> Confirmacion final del pedido
- El usuario agrega productos al carrito.
- Entra a
/carty ajusta cantidades o elimina productos. - Presiona Proceder al checkout y navega a
/checkout. - Completa datos de compra, selecciona envio y metodo de pago.
- Confirma el pedido y navega a
/order-confirmation. - El carrito se vacia automaticamente y la orden queda guardada en localStorage.
carrito_tienda: conserva el carrito al recargar.ordenes_tienda: almacena pedidos confirmados.
En esta fase se agrego una seccion de cuenta para consultar compras anteriores sin afectar el flujo de carrito y checkout.
/account-> Perfil mock y listado de pedidos/account/orders/:orderId-> Detalle de una compra
- Acceso a Mi cuenta desde el navbar.
- Perfil mock con datos basicos del usuario.
- Recuperacion de ordenes desde localStorage.
- Detalle de pedido con react-router-dom.
- Consulta de compras anteriores sin romper carrito ni checkout.
En esta fase se implemento autenticacion local con contexto para proteger cuenta y compra.
- Registro de usuario local.
- Login local.
- Sesion persistente en localStorage.
- Cierre de sesion (logout).
- Navbar dinamico:
- sin sesion: Login y Registrarse
- con sesion: nombre del usuario y boton Salir
- Guard de rutas con ProtectedRoute.
/account/account/orders/:orderId/checkout/order-confirmation
usuarios_tienda: usuarios registrados.sesion_tienda: sesion activa del usuario.
- Flujo de autenticacion local completo.
- Cuenta y compras disponibles solo para usuario autenticado.
- Carrito y checkout mantenidos sin regresiones funcionales.
El proyecto cuenta con:
- Catalogo con CRUD y categorias.
- Carrito persistente y checkout funcional.
- Confirmacion de pedido y almacenamiento de ordenes.
- Historial y detalle de compras en Mi cuenta.
- Autenticacion local con rutas protegidas.
- Navegacion completa con React Router.