Home Projects Portfolio Dashboard Export PDF Log in

Optimizando TuTiendaWeb: Refactorizando el Mantenimiento de Productos

Introducción

En el desarrollo de aplicaciones web dinámicas, la gestión de datos es el núcleo de la experiencia del usuario. En el proyecto TuTiendaWeb, nos enfocamos recientemente en mejorar la robustez de nuestro catálogo y la integridad de los datos, asegurando que las acciones de edición y la gestión de categorías sean procesos seguros y predecibles.

El Problema: Integridad y Validación

Durante el ciclo de desarrollo, identificamos fricciones al editar productos y gestionar categorías. Los errores comunes incluían:

  1. Falta de validación en los nombres de productos (entradas vacías o inválidas).
  2. Errores de acceso al intentar realizar operaciones CRUD sin las reglas de seguridad adecuadas en Firestore.
  3. Inconsistencias al actualizar el estado de los componentes tras cambios de branding.

La Solución: Validación y Seguridad por Capas

Para resolver esto, implementamos una capa de validación centralizada antes de interactuar con Firestore. Al utilizar un enfoque basado en TypeScript, garantizamos que solo los datos con el formato correcto lleguen a la base de datos.

interface ProductValidator {
  validateName(name: string): boolean;
}

class ProductService implements ProductValidator {
  validateName(name: string): boolean {
    return name.trim().length > 3;
  }

  async updateProduct(id: string, data: any) {
    if (!this.validateName(data.name)) {
      throw new Error("Nombre de producto no válido");
    }
    return await firestore.collection('products').doc(id).update(data);
  }
}

Este patrón asegura que nuestra lógica de negocio esté protegida. Adicionalmente, revisamos nuestras reglas de seguridad en Firebase para restringir quién puede modificar productos, asegurando que la integridad de la base de datos no dependa únicamente de la interfaz de usuario.

Resultados

Al integrar estas validaciones en TuTiendaWeb, logramos:

  • Reducción de errores: Las operaciones fallidas en el servidor se redujeron al validar datos en el cliente.
  • Mejora de Branding: La actualización de identidad visual se hizo de forma limpia, optimizando además los assets a WebP para mejorar el rendimiento.
  • Consistencia: El proceso de CRUD ahora sigue un flujo predecible, permitiendo que el estado de la aplicación sea siempre consistente con Firestore.

Consejos para Mantener el Orden

  1. Valida siempre en ambos lados: Nunca confíes solo en el cliente; usa reglas de seguridad de Firebase como tu última línea de defensa.
  2. Centraliza tu lógica: Si tienes que validar nombres de productos en múltiples lugares, crea un servicio o una clase utilitaria reutilizable.
  3. Optimiza tus assets: Un sitio rápido es un sitio que vende. El paso a WebP fue fundamental para mejorar la experiencia en dispositivos móviles.

Generated with Gitvlg.com

Optimizando TuTiendaWeb: Refactorizando el Mantenimiento de Productos
MAXIMILIANO EXEQUIEL ARAMAYO LAZO

MAXIMILIANO EXEQUIEL ARAMAYO LAZO

Author

Share: