Construí un sistema de cotizaciones real con .NET 10 y Blazor Server — y esto fue lo que aprendí
Hace unas semanas empecé un proyecto personal con un objetivo simple: automatizar el proceso de cotización de una vidriería que hasta entonces armaba cada presupuesto a mano. Cálculos repetidos, formato distinto cada vez, cero historial ordenado. Terminó siendo bastante más de lo que imaginé al principio: un sistema completo de gestión de presupuestos, con catálogo de productos, múltiples precios…
Un proyecto personal comenzó con el objetivo de automatizar el proceso de cotización de una vidriería, lo cual se desarrolló en un sistema completo de gestión de presupuestos. Se utilizó la tecnología .NET 10 y Blazor Server para la creación de este sistema, que incluía catálogo de productos, múltiples precios por proveedor, cálculo de márgenes, y exportación de documentos en formato PDF. El sistema fue diseñado y desarrollado resolviendo problemas de manera incremental, en lugar de seguir un tutorial al pie de la letra.
Dos de los momentos más interesantes durante el desarrollo fueron pensar en las reglas de borrado y la creación de un selector de catálogos escalable. En lo que respecta a las relaciones en Entity Framework Core, es esencial tomar en cuenta las reglas de borrado, ya que cada relación tiene una justificación en el negocio. Por ejemplo, un presupuesto no puede ser borrado sin que sus ítems asociados se vean afectados, mientras que un ítem presupuestario se ve obligado a ser eliminado si su presupuesto padre es eliminado.
Un problema más difícil de diagnosticar fue un botón que dejó de responder, sin que hubiera excepciones ni registros en la consola ni en el servidor. La causa se encontró en que algunos componentes globales, como proveedores de notificaciones y diálogos, eran renderizados fuera del árbol de componentes interactivos, lo que los dejaba en modo estático y, por lo tanto, inactivos. Este fue un error que no se presentó en ningún tutorial, pero resultó valioso para aprender sobre el render mode en Blazor Web App.
En resumen, el proyecto de automatización de cotizaciones fue un proceso exitoso que implicó la resolución de problemas de manera incremental y la aplicación de conocimientos técnicos específicos en el desarrollo de Blazor Server.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.