paint-brush
Pros, contras y dificultades de Laravel Nova: un estudio de caso del desarrollo del sistema ERP farmacéuticopor@jatapp
3,485 lecturas
3,485 lecturas

Pros, contras y dificultades de Laravel Nova: un estudio de caso del desarrollo del sistema ERP farmacéutico

por JatApp8m2023/05/18
Read on Terminal Reader

Demasiado Largo; Para Leer

El estudio de caso revela los principales pros, contras y rincones oscuros de Laravel Nova. La historia gira en torno al proyecto de JatApp, una empresa de desarrollo de software de Ucrania. El cliente de JatApp, una empresa farmacéutica, necesitaba un sistema ERP para mejorar la gestión de su cadena de suministro. Dado que la solución debe entregarse lo antes posible, se eligió Laravel Nova como una tecnología que puede brindar resultados rápidos pero de calidad.
featured image - Pros, contras y dificultades de Laravel Nova: un estudio de caso del desarrollo del sistema ERP farmacéutico
JatApp HackerNoon profile picture

“Lo más rápido posible” . La frase que ciertamente puede asociar con empresas que desean desarrollar una solución de software personalizada.


Es por eso que las agencias de desarrollo de software intentan utilizar tecnologías que puedan garantizar a los ejecutivos de negocios y fundadores de empresas emergentes un proceso rápido de desarrollo de productos. JatApp , un proveedor de desarrollo de software de Ucrania, trabajó con un cliente de este tipo.


Laravel Nova fue la tecnología elegida, ya que tenía que entregar al cliente un producto funcional en el menor tiempo posible.


¿Laravel Nova cumplió su propósito? Descubrámoslo en el siguiente caso de estudio.


Laravel Nova en acción


Una empresa farmacéutica necesitaba su sistema ERP personalizado

La gestión de la logística y las cadenas de suministro en la industria farmacéutica es una tarea ardua.


Las regulaciones legales, los requisitos específicos para el almacenamiento de productos, la alta variabilidad de la demanda y las interrupciones en el suministro son los principales obstáculos para la entrega oportuna y sin fricciones de productos farmacéuticos en toda la cadena de suministro.

Una cadena de suministro típica en la industria farmacéutica


Además, muchas empresas registran sus datos de gestión de la cadena de suministro de forma manual, lo que también provoca retrasos y confusión. En consecuencia, toda la cadena de suministro enfrenta un serio cuello de botella en el desempeño.


El cliente de JatApp tenía la intención de deshacerse de esos procesos mal equipados de su gestión de la cadena de suministro mediante el desarrollo de un sistema personalizado de planificación de recursos empresariales (ERP) para uso interno.


Se esperaba que la aplicación ERP digitalizara, optimizara y automatizara todas las operaciones de gestión de la cadena de suministro dentro de un único sistema compartido accesible para todas las partes interesadas dentro de la cadena de suministro.


A pesar de que el cliente era muy consciente de los problemas dentro de la logística de la industria farmacéutica, la empresa aparentemente no tenía experiencia en el desarrollo de software. Es por eso que el cliente acudió a JatApp solicitando asistencia técnica.


Pero aquí surgió eso de “lo más rápido posible”. La empresa del cliente tuvo que invertir mucho dinero por adelantado y su deseo de obtener rápidamente un resultado tangible era natural.


Además de eso, el cliente no quería centrarse mucho en la interfaz de usuario (UI) del ERP. Tenían la intención de usarlo solo internamente, por lo que no era obligatorio ningún adorno adicional para hacer que la solución fuera comercializable.


El objetivo principal era desarrollar la solución lo suficientemente rápido como para comenzar a usarla lo antes posible para el cliente. Evidentemente, necesitábamos una pila tecnológica que pudiera servir bien para este propósito.

Laravel Nova tiene que ver con la conveniencia y la eficiencia

Se requería que el sistema ERP automatizara y agilizara las operaciones en toda la cadena de suministro de la empresa, razón por la cual el desarrollo de un panel de administración robusto para el control de los registros de datos y los permisos de los usuarios era la máxima prioridad.


Y no olvidemos que el proceso de desarrollo debe ser rápido y eficiente al mismo tiempo.


Por esos motivos, el equipo de ingeniería de software de JatApp decidió emplear Laravel Nova como herramienta para ahorrar tiempo y esfuerzo en la codificación del panel de administración. Pero, ¿por qué Laravel Nova?


Laravel Nova es un panel de administración comercial para Laravel, un popular marco de aplicación web PHP. Está diseñado para proporcionar a los desarrolladores una interfaz personalizable y fácil de usar para administrar la administración de sus aplicaciones Laravel.


Con Laravel Nova, los desarrolladores de software pueden crear rápida y fácilmente una interfaz administrativa basada en la web que les permita administrar varios aspectos de su aplicación, como la administración de usuarios, la administración de contenido y otras tareas administrativas.


Incluye funciones como listas de recursos de búsqueda, filtros, formularios, acciones, métricas y autorización.


Laravel Nova está construido con Vue.js, que se integra bien con PHP Laravel porque Laravel admite Vue.js como una solución lista para usar.


No hace falta decir que dicha compatibilidad de Nova y Vue.js brinda una gran flexibilidad en el desarrollo de software porque es posible crear páginas, campos y similares personalizados.


Esta fue la razón general por la que elegimos Laravel Nova. Pero la conveniencia y la eficiencia en el desarrollo de software no son términos abstractos y subjetivos.


Nuestro equipo encontró en Laravel Nova una solución efectiva y conveniente para el proyecto del cliente debido a las siguientes ventajas:

Componentes listos para usar

Laravel Nova ofrece una amplia gama de soluciones listas para usar que permitieron a nuestros desarrolladores de software componer el panel de administración del ERP con la máxima eficiencia: menús listos para usar, filtros, acciones y campos de búsqueda fueron fáciles de ensamblar en un completo panel de administración de pleno derecho.


Sin embargo, Laravel Nova no es un código bajo/sin plataforma, sino una herramienta con una serie de elementos prediseñados necesarios para la administración de una aplicación. Nuestro equipo todavía tenía que escribir el código para personalizar y ampliar estos componentes de acuerdo con los requisitos del sistema.

Operaciones CRUD obvias

La gestión de la cadena de suministro de la empresa involucra toneladas de datos que deben intercambiarse entre las diferentes partes interesadas. Es por eso que era primordial hacer que los datos fueran precisos, fácilmente actualizables y consistentes en toda la cadena de suministro.


Para hacer frente a este desafío, el equipo de JatApp tuvo que idear una gestión adecuada de las llamadas operaciones CRUD.


Las operaciones CRUD se refieren a las funciones básicas que son necesarias para administrar datos en la mayoría de las aplicaciones de software. CRUD significa Crear, Leer, Actualizar y Eliminar, y estas operaciones corresponden a las cuatro funciones básicas que puede realizar en los datos.



En el contexto de PHP Laravel, las operaciones CRUD se utilizan para interactuar con una base de datos y realizar acciones como crear, leer, actualizar y eliminar registros. Con Laravel Nova, navegar por las operaciones CRUD fue pan comido para nuestro equipo.


La herramienta facilitó la estructuración de la arquitectura de datos, ahorrando así mucho tiempo en el desarrollo del ERP. Laravel Nova proporciona una validación integrada que garantiza que los datos se ingresen correctamente y cumplan con criterios específicos.


Esto nos ayudó a hacer que el sistema fuera sensible a los errores. De tal manera, los usuarios de la aplicación ERP tienen pocas posibilidades de enviar datos incorrectos o irrelevantes al sistema.


Laravel Nova también admite relaciones entre diferentes tablas de bases de datos, lo que simplifica el proceso de realizar operaciones CRUD en datos relacionados. Esto era particularmente importante para la aplicación ERP, ya que tenía que involucrar estructuras de datos complejas con múltiples tablas relacionadas.


Las relaciones nos ayudaron a garantizar que los datos ingresados en el sistema sean siempre consistentes y precisos. Además, la función de relaciones permitió a nuestros ingenieros de software simplificar el código y facilitar su mantenimiento a lo largo del tiempo.


Aparte de la gestión adecuada de los datos, el cliente destacó que era importante para ellos evitar el borrado completo de los datos. Laravel Nova pudo resolver esta tarea en un chasquido de dedos, gracias a la función llamada eliminación suave.


Esta característica otorga a un elemento de datos en particular el estado de exclusión de un conjunto de datos, pero el elemento permanece almacenado en la base de datos.

Campos Personalizados

El sistema ERP es utilizado por múltiples partes interesadas, lo que significa que el riesgo de error humano es alto. Ahí es donde la función de campos personalizados de Laravel Nova resultó útil.


Los campos personalizados en Laravel Nova nos permitieron crear y personalizar campos en el panel de administración que eran críticos para los requisitos de datos de la aplicación ERP.


Con los campos personalizados, nuestro equipo agregó nuevos tipos de campos de entrada, personalizó la visualización de los campos existentes y creó tipos de campos complejos que podrían usarse para recopilar o mostrar datos.


Creamos campos de entrada que se adaptan a los datos del sistema y mejoramos la eficiencia y precisión de las operaciones CRUD.


De esta manera, la entrada de datos en el sistema ERP se volvió más intuitiva para los usuarios, mientras que la calidad de los datos mejoró a medida que se aplicaron formatos de entrada específicos y reglas de validación.

Políticas para la gestión de permisos

Hemos mencionado que el uso del sistema ERP estaba destinado a involucrar a diferentes partes: trabajadores de almacenamiento, conductores, clientes, etc. Por ese motivo, era crucial aislar todos los flujos de usuarios para garantizar que las partes interesadas no interfirieran con los datos de los demás.


La función de políticas nos ayudó a resolver esta tarea. En Laravel Nova, las políticas son una característica que permite definir reglas para controlar el acceso a varias partes de su aplicación. Las políticas definen qué acciones puede realizar un usuario en un recurso, según su rol o permisos.


Gracias a esta función, nuestros desarrolladores pudieron crear una amplia gama de permisos para cada usuario. La implementación de permisos en el sistema evitó numerosas confusiones ya que cada usuario tenía acceso a los datos que son relevantes para ellos.

La conveniencia no viene sin desafíos

Aunque Laravel Nova era una herramienta conveniente para crear el panel de administración de forma rápida y sencilla, había un obstáculo importante: los elementos del panel no se podían personalizar por completo.


La herramienta proporcionó una amplia gama de componentes listos para usar para el desarrollo incluso de paneles de administración complejos, pero muchos de ellos simplemente no cumplían con nuestros requisitos.


Como sucede a menudo con el uso de soluciones listas para usar, usted se convierte en su prisionero. En las últimas etapas del desarrollo, nuestro equipo enfrentó desafíos con la personalización de múltiples componentes, ya que Laravel Nova no los personalizó de la manera que queríamos.


Sin duda, estos desafíos ralentizaron un poco el ritmo del proceso de desarrollo.


Gracias a la inventiva y la creatividad de nuestro equipo de desarrollo, encontramos formas poco obvias pero funcionales de hacer que el ERP cumpliera con sus requisitos y se viera como estaba previsto.


Para salir de la trampa de la "solución lista para usar", tuvimos que usar Vue.js para hacer que la interfaz del sistema se viera exactamente como se indica en la especificación de requisitos de software.


Laravel Nova nos atrajo a usarlo al ofrecer posibilidades casi infinitas de personalización, pero deberíamos haber realizado una breve demostración para ver si tales capacidades son realmente tan buenas en la práctica.


La buena noticia es que nuestros desarrolladores de software resolvieron el problema pensando fuera de la caja y encontrando una salida creativa. El juego de palabras pretendía, por cierto.

¿Vale la pena probar Laravel Nova?

Sí, pero…


Laravel Nova es una buena herramienta para construir rápidamente un panel de administración, independientemente de la complejidad de la aplicación. La herramienta nos ayudó a desarrollar un panel de administración de este tipo para el sistema ERP del cliente de manera justa.


El cliente quedó satisfecho con el resultado e incluso planea escalar la solución para optimizar procesos dentro de otros aspectos de su negocio farmacéutico.


Pero la libertad de personalizar cada botón brillante y rincón oscuro de su panel de administración es difícil de alcanzar. Esto significa que debe estar absolutamente seguro de que Laravel Nova se adaptará bien a su proyecto o que su equipo es lo suficientemente creativo y conocedor para suavizar las esquinas de los componentes obstinadamente no personalizables.


Nuestro veredicto y lección aprendida: Laravel Nova es una herramienta bastante eficiente para el desarrollo rápido de un panel de administración, pero debe realizar una breve demostración para asegurarse de que está completamente de acuerdo con lo que esta herramienta puede aportar.