“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.
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.
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.
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:
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.
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.
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.
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.
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.
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.