Modelado de Datos para Aplicación de Inventario

Clase 14 de 38Curso de Desarrollo Web con Blazor y .Net Core 3

Contenido del curso

Aplicar Entity Framework

Integrar datos en ambientes Blazor

Resumen

Construir una aplicación real es el paso que consolida todo lo aprendido sobre Blazor y arquitectura por capas. Aquí se definen los requerimientos funcionales de un sistema de inventario que servirá como proyecto práctico, estableciendo las entidades principales, sus relaciones y la lógica de negocio que guiará el modelo de datos.

¿Qué necesita una aplicación de inventario funcional?

Un sistema de inventario gira alrededor de una entidad central: los productos. Pero un producto por sí solo no genera valor sin un contexto de ubicación y movimiento. Por eso, el proyecto se estructura sobre tres pilares fundamentales [0:30]:

  • Productos: la unidad básica del inventario, cada uno con sus datos descriptivos.
  • Bodegas: los lugares físicos o lógicos donde se almacenan los productos.
  • Categorías: agrupaciones que permiten clasificar y organizar los productos de forma lógica.

El diseño contempla que los productos se distribuyan en múltiples bodegas. Para el ejemplo se trabajará con tres bodegas iniciales, pero la estructura de código se construirá de manera escalable, permitiendo agregar una cantidad ilimitada de bodegas sin modificar la lógica central [1:05].

¿Cómo se relacionan productos y bodegas?

Un producto puede estar presente en todas las bodegas o solo en algunas. Esta relación de muchos a muchos es clave para entender el modelo de datos que se construirá. No se trata de asignar un producto a un único lugar, sino de reflejar la realidad de un inventario donde las existencias se reparten según la necesidad.

El sistema está pensado para ser operado por una única persona, por lo que no se implementará un esquema de autenticación con login y password [1:30]. Esto simplifica el desarrollo y permite enfocarse en la lógica de negocio del inventario.

¿Por qué es importante registrar entradas y salidas de productos?

Dentro del flujo del inventario, cada producto tiene dos movimientos posibles: entrada y salida [2:00]. Registrar estos movimientos no es opcional, es la base para mantener la integridad del sistema.

  • Entrada: cuando un producto ingresa a una bodega específica.
  • Salida: cuando un producto abandona una bodega.
  • Seguimiento: el historial de movimientos permite realizar un arqueo, es decir, verificar si las cantidades registradas coinciden con las reales.

Este registro detallado resuelve un problema común: identificar por qué el sistema está descuadrado cuando las cifras no coinciden. Sin trazabilidad, cualquier diferencia entre lo esperado y lo real se convierte en un problema sin solución [2:20].

¿Qué estructura tendrá el proyecto a nivel técnico?

La arquitectura sigue el patrón de desarrollo por capas que se explicó anteriormente. Cada capa se implementará como una librería de clases independiente, con una excepción importante: la capa de presentación, que será el proyecto en Blazor [2:50].

Esta separación ofrece ventajas claras:

  • Cada capa tiene una responsabilidad definida.
  • El código es más fácil de mantener y probar.
  • Se pueden modificar las reglas de negocio sin afectar la interfaz y viceversa.

El siguiente paso será transformar toda esta lógica en un modelo de datos concreto que refleje las relaciones entre productos, bodegas, categorías y movimientos de inventario. Ese modelo será la base sobre la cual se construirá la base de datos del proyecto.

Si ya tienes experiencia con sistemas de inventario, comparte qué otras entidades consideras esenciales para un proyecto como este.