paint-brush
Prós, Contras e Armadilhas do Laravel Nova: Um Estudo de Caso do Desenvolvimento do Sistema ERP Farmacêuticopor@jatapp
3,485 leituras
3,485 leituras

Prós, Contras e Armadilhas do Laravel Nova: Um Estudo de Caso do Desenvolvimento do Sistema ERP Farmacêutico

por JatApp8m2023/05/18
Read on Terminal Reader

Muito longo; Para ler

O estudo de caso revela os principais prós, contras e cantos obscuros do Laravel Nova. A história gira em torno do projeto realizado pela JatApp, uma empresa de desenvolvimento de software da Ucrânia. O cliente da JatApp, uma empresa farmacêutica, precisava de um sistema ERP para melhorar a gestão de sua cadeia de suprimentos. Como a solução deve ser entregue o mais rápido possível, o Laravel Nova foi escolhido como uma tecnologia que pode entregar resultados rápidos, mas com qualidade.
featured image - Prós, Contras e Armadilhas do Laravel Nova: Um Estudo de Caso do Desenvolvimento do Sistema ERP Farmacêutico
JatApp HackerNoon profile picture

“O mais rápido possível” . A frase que você certamente pode associar a empresas que desejam desenvolver uma solução de software personalizada.


É por isso que as agências de desenvolvimento de software procuram usar tecnologias que possam garantir aos executivos de negócios e fundadores de startups um rápido processo de desenvolvimento de produtos. JatApp , um fornecedor de desenvolvimento de software da Ucrânia, trabalhou com esse cliente.


O Laravel Nova foi a tecnologia escolhida, pois tinha que entregar ao cliente um produto funcional no menor tempo possível.


O Laravel Nova cumpriu seu propósito? Vamos descobrir no seguinte estudo de caso.


Laravel Nova em ação


Uma empresa farmacêutica precisava de seu sistema ERP personalizado

A gestão da logística e das cadeias de abastecimento na indústria farmacêutica é uma tarefa árdua.


Regulamentações legais, requisitos específicos para armazenamento de produtos, alta variabilidade de demanda e interrupções no fornecimento são os principais obstáculos para a entrega pontual e sem atrito de produtos farmacêuticos em toda a cadeia de suprimentos.

Uma cadeia de suprimentos típica na indústria farmacêutica


Além disso, muitas empresas registram seus dados de gerenciamento da cadeia de suprimentos manualmente, o que também causa atrasos e confusão. Consequentemente, toda a cadeia de suprimentos enfrenta um sério gargalo no desempenho.


O cliente da JatApp pretendia abandonar esses processos mal equipados de seu gerenciamento de cadeia de suprimentos desenvolvendo um sistema personalizado de planejamento de recursos empresariais (ERP) para uso interno.


Esperava-se que o aplicativo ERP digitalizasse, otimizasse e automatizasse todas as operações de gerenciamento da cadeia de suprimentos em um único sistema compartilhado acessível a todas as partes interessadas na cadeia de suprimentos.


Embora o cliente conhecesse bem os problemas de logística da indústria farmacêutica, a empresa aparentemente não tinha experiência em desenvolvimento de software. Por isso o cliente procurou a JatApp solicitando assistência técnica.


Mas aqui surgiu aquela coisa do “o mais rápido possível”. A empresa do cliente teve que investir muito dinheiro antecipadamente e seu desejo de obter rapidamente um resultado tangível era natural.


Além disso, o cliente não queria se concentrar muito na interface do usuário (UI) do ERP. Eles pretendiam usá-lo apenas internamente, portanto, quaisquer sinos e assobios adicionais para tornar a solução comercializável não eram obrigatórios.


O objetivo principal era desenvolver a solução com rapidez suficiente para começar a usá-la o mais cedo possível para o cliente. Evidentemente, precisávamos de uma pilha de tecnologia que pudesse servir bem a esse propósito.

Laravel Nova tem tudo a ver com conveniência e eficiência

O sistema ERP era necessário para automatizar e agilizar as operações em toda a cadeia de suprimentos da empresa, por isso o desenvolvimento de um painel administrativo robusto para controle de registros de dados e permissões de usuários foi a principal prioridade.


E não vamos esquecer que o processo de desenvolvimento deve ser rápido e eficiente ao mesmo tempo.


Por essas razões, a equipe de engenharia de software da JatApp decidiu empregar o Laravel Nova como uma ferramenta para economizar tempo e esforço na codificação do painel de administração. Mas por que Laravel Nova?


Laravel Nova é um painel de administração comercial para Laravel, um popular framework de aplicações web PHP. Ele foi projetado para fornecer aos desenvolvedores uma interface personalizável e fácil de usar para gerenciar a administração de seus aplicativos Laravel.


Com o Laravel Nova, os desenvolvedores de software podem criar de maneira rápida e fácil uma interface administrativa baseada na Web que permite gerenciar vários aspectos de seu aplicativo, como gerenciamento de usuários, gerenciamento de conteúdo e outras tarefas administrativas.


Inclui recursos como listas de recursos pesquisáveis, filtros, formulários, ações, métricas e autorização.


Laravel Nova é construído com Vue.js que se integra bem com PHP Laravel porque Laravel suporta Vue.js como uma solução pronta para uso.


Desnecessário dizer que essa compatibilidade de Nova e Vue.js traz bastante flexibilidade no desenvolvimento de software porque a criação de páginas personalizadas, campos e similares torna-se possível.


Esta foi a razão geral pela qual escolhemos a dedo o Laravel Nova. Mas conveniência e eficiência no desenvolvimento de software não são termos abstratos e subjetivos.


Nossa equipe encontrou no Laravel Nova uma solução eficaz e conveniente para o projeto do cliente devido às seguintes vantagens:

Componentes prontos para uso

O Laravel Nova oferece uma ampla gama de soluções prontas para uso que permitiram aos nossos desenvolvedores de software compor o painel de administração do ERP com a máxima eficiência: menus, filtros, ações e campos de pesquisa prontos foram fáceis de montar em um painel completo. painel de administração avançado.


No entanto, o Laravel Nova não é um low code/sem plataforma, mas uma ferramenta com uma série de elementos pré-construídos necessários para a administração de um aplicativo. Nossa equipe ainda precisava escrever o código para customizar e estender esses componentes de acordo com os requisitos do sistema.

Operações CRUD simples

A gestão da cadeia de suprimentos da empresa envolve toneladas de dados que devem ser trocados entre diferentes partes interessadas. É por isso que era fundamental tornar os dados precisos, facilmente atualizáveis e consistentes em toda a cadeia de suprimentos.


Para enfrentar esse desafio, a equipe da JatApp precisou criar um gerenciamento adequado das chamadas operações CRUD.


As operações CRUD referem-se às funções básicas necessárias para gerenciar dados na maioria dos aplicativos de software. CRUD significa Criar, Ler, Atualizar e Excluir, e essas operações correspondem às quatro funções básicas que você pode executar nos dados.



No contexto do PHP Laravel, as operações CRUD são usadas para interagir com um banco de dados e executar ações como criar, ler, atualizar e excluir registros. Com o Laravel Nova, navegar pelas operações CRUD foi muito fácil para nossa equipe.


A ferramenta facilitou a estruturação da arquitetura de dados, economizando muito tempo no desenvolvimento do ERP. O Laravel Nova fornece validação integrada que garante que os dados sejam inseridos corretamente e atendam a critérios específicos.


Isso nos ajudou a tornar o sistema sensível a erros. Dessa forma, os usuários do aplicativo ERP têm poucas chances de enviar dados errados ou irrelevantes ao sistema.


O Laravel Nova também suporta relacionamentos entre diferentes tabelas de banco de dados, o que simplifica o processo de execução de operações CRUD em dados relacionados. Isso foi particularmente importante para o aplicativo ERP, pois envolveu estruturas de dados complexas com várias tabelas relacionadas.


Os relacionamentos nos ajudaram a garantir que os dados inseridos no sistema sejam sempre consistentes e precisos. Além disso, o recurso de relacionamentos permitiu que nossos engenheiros de software simplificassem o código e facilitassem sua manutenção ao longo do tempo.


Além do gerenciamento adequado dos dados, o cliente destacou que era importante para eles evitar o apagamento completo dos dados. O Laravel Nova foi capaz de resolver essa tarefa em um piscar de olhos, graças ao recurso chamado soft delete.


Esse recurso fornece a um determinado elemento de dados o status de excluído de um conjunto de dados, mas o elemento permanece armazenado no banco de dados.

Os campos personalizados

O sistema ERP é usado por várias partes interessadas, o que significa que o risco de erro humano é alto. É aí que o recurso de campos personalizados do Laravel Nova veio a calhar.


Os campos personalizados no Laravel Nova nos permitiram criar e personalizar campos no painel de administração que eram críticos para os requisitos de dados do aplicativo ERP.


Com campos personalizados, nossa equipe adicionou novos tipos de campos de entrada, personalizou a exibição de campos existentes e criou tipos de campos complexos que podem ser usados para coletar ou exibir dados.


Criamos campos de entrada adaptados aos dados do sistema e melhoramos a eficiência e precisão das operações CRUD.


Desta forma, a entrada de dados no sistema ERP tornou-se mais intuitiva para os usuários, enquanto a qualidade dos dados melhorou com a aplicação de formatos específicos de entrada e regras de validação.

Políticas para gerenciamento de permissões

Mencionamos que o uso do sistema ERP visava envolver diferentes partes: armazenistas, motoristas, clientes e assim por diante. Por esse motivo, era crucial isolar todos os fluxos de usuários para garantir que as partes interessadas não interferissem nos dados umas das outras.


O recurso de políticas nos ajudou a resolver essa tarefa. No Laravel Nova, as políticas são um recurso que permite definir regras para controlar o acesso a várias partes do seu aplicativo. As políticas definem quais ações um usuário pode executar em um recurso, com base em sua função ou permissões.


Graças a esse recurso, nossos desenvolvedores puderam criar uma ampla variedade de permissões para cada usuário. A implementação de permissões no sistema evitou inúmeras confusões, pois cada usuário teve acesso aos dados que lhe são relevantes.

Conveniência não vem sem desafios

Embora o Laravel Nova fosse uma ferramenta conveniente para construir o painel de administração de forma rápida e fácil, havia um grande obstáculo: os elementos do painel não eram totalmente personalizáveis.


A ferramenta forneceu uma ampla gama de componentes prontos para uso para o desenvolvimento de painéis administrativos complexos, mas muitos deles simplesmente não atendiam aos nossos requisitos.


Como costuma acontecer com o uso de soluções prontas para uso, você se torna prisioneiro deles. Nos estágios finais do desenvolvimento, nossa equipe enfrentou desafios com a customização de vários componentes, pois o Laravel Nova não os customizava da maneira que queríamos.


Sem dúvida, esses desafios desaceleraram um pouco o ritmo do processo de desenvolvimento.


Devido à inventividade e criatividade de nossa equipe de desenvolvimento, encontramos maneiras não óbvias, mas funcionais, de fazer o ERP atender aos seus requisitos e ter a aparência pretendida.


Para sair da armadilha da “solução pronta para usar”, tivemos que usar o Vue.js para fazer a interface do sistema parecer exatamente com a especificação de requisitos de software declarada.


O Laravel Nova nos seduziu a usá-lo oferecendo possibilidades quase infinitas de personalização, mas deveríamos ter executado uma pequena demonstração para ver se tais recursos são realmente tão bons na prática.


A boa notícia é que nossos desenvolvedores de software resolveram o problema pensando fora da caixa e encontrando uma saída criativa. O trocadilho foi intencional, a propósito.

Vale a pena tentar o Laravel Nova?

Sim mas…


O Laravel Nova é uma boa ferramenta para construir rapidamente um painel de administração, independentemente da complexidade do aplicativo. A ferramenta nos ajudou a desenvolver um painel de administração para o sistema ERP do cliente de forma justa.


O cliente ficou satisfeito com o resultado e até planeja escalar a solução para otimizar processos em outros aspectos de seu negócio farmacêutico.


Mas a liberdade de personalizar cada botão brilhante e canto escuro do painel de administração é ilusória. Isso significa que você deve ter certeza absoluta de que o Laravel Nova será uma boa opção para o seu projeto ou que sua equipe é criativa e experiente o suficiente para suavizar os cantos de componentes teimosamente não personalizáveis.


Nosso veredicto e lição aprendida: Laravel Nova é uma ferramenta bastante eficiente para o desenvolvimento rápido de um painel de administração, mas você deve executar uma breve demonstração para garantir que está completamente bem com o que esta ferramenta pode trazer para a mesa.