Introdução:
A Krebs, uma renomada empresa de engenharia sediada em Campinas, São Paulo, se destaca por seus sistemas de irrigação altamente eficientes, que otimizam o uso da água e impulsionam os lucros e a sustentabilidade de seus clientes. Neste case de sucesso, destacamos nossa colaboração com a Krebs para modernizar e aprimorar seu software de cálculo de pivôs.
Desafio do Cliente:
A Krebs enfrentava um dilema com seu sistema legado desatualizado, incapaz de acompanhar as demandas crescentes do mercado e sem um parceiro adequado para sua modernização. O desafio era desenvolver uma nova versão do software, totalmente na nuvem e escalável, capaz de atender às necessidades operacionais complexas da Krebs no dia-a-dia.
Tecnologias Aplicadas:
Node.js: Para garantir uma comunicação eficiente entre o backend e o frontend, optamos por desenvolver o backend da plataforma em Node.js, assegurando uma performance ágil.
React: O frontend do sistema foi desenvolvido utilizando React, proporcionando uma experiência de usuário dinâmica e responsiva, essencial para responder às necessidades operacionais em tempo real.
Requisitos:
- Desenvolvimento em Português.
- Aumento da velocidade operacional.
- Capacidade de integração com sistemas como o SAP.
- Manutenção de todas as funcionalidades e cálculos existentes.
- Migração completa dos dados do sistema legado.
- Não mudar a experiência do usuário.
Solução:
Para atender aos requisitos do cliente, implementamos as seguintes soluções:
-
Backend Separado do Frontend: Decidimos separar o backend e o frontend para garantir uma arquitetura mais escalável e modular. Essa abordagem permite atualizações independentes em cada camada da aplicação, facilitando a manutenção e evolução do sistema.
-
Estrutura de Banco de Dados Otimizada: Mantendo a mesma estrutura de banco de dados do sistema legado, realizamos otimizações significativas para aumentar a velocidade e a organização dos dados. Isso garante um desempenho aprimorado e uma melhor experiência do usuário.
-
Backend em Node.js para Operações Assíncronas: Optamos por utilizar Node.js para o backend da aplicação devido à sua eficiência em lidar com operações assíncronas. Isso permite um processamento mais rápido de solicitações e uma maior capacidade de lidar com um grande volume de dados em tempo real.
-
Frontend de React com Maior Responsividade da Interface: Desenvolvemos o frontend da aplicação utilizando React, uma escolha que nos permitiu criar uma interface de usuário altamente responsiva e dinâmica. Isso garante uma experiência de usuário superior e uma navegação suave em diferentes dispositivos e tamanhos de tela.
-
Relatórios Mais Completos para Revendas e Gestores: Implementamos relatórios mais abrangentes e personalizáveis para atender às necessidades específicas das revendas e gestores. Isso fornece insights valiosos e dados acionáveis para tomadas de decisão informadas e estratégicas.
-
Mantivemos as Funcionalidades do Sistema Legado: Garantimos a preservação de todas as funcionalidades essenciais do sistema legado, garantindo uma transição suave para a nova versão. Isso permite que os usuários continuem a utilizar o sistema sem interrupções significativas.
-
Sistema Todo Desenvolvido em JavaScript para Facilidade de Manutenção: Optamos por desenvolver todo o sistema em JavaScript, tanto no backend quanto no frontend, para garantir uma manutenção mais rápida e fácil. Isso simplifica o processo de desenvolvimento e permite que a equipe de desenvolvimento trabalhe de forma mais eficiente.
-
Sistema Modular e Componentizado para Facilidade na Criação de Novas Funcionalidades: Criamos o sistema de forma modular e componentizada para facilitar a adição de novas funcionalidades e melhorias no futuro. Isso promove uma maior flexibilidade e escalabilidade do sistema, permitindo que ele cresça junto com as necessidades do cliente.
Desafios Durante o Desenvolvimento:
Enfrentamos desafios significativos durante o processo de desenvolvimento, incluindo:
-
Base Antiga do Código em C++: A antiga base de código em C++ carecia de padronização e documentação, exigindo um esforço adicional para mapear e modernizar a estrutura de dados.
-
Garantia da Consistência dos Dados: Foi necessário garantir a consistência dos dados ao migrar do sistema antigo para o novo, sem comprometer as novas funcionalidades implementadas.
-
Otimização de Desempenho: A otimização do desempenho do aplicativo em diferentes dispositivos e conexões de internet exigiu diversas melhorias e ajustes.
Resultados:
O resultado final superou as expectativas da Krebs, proporcionando um trabalho diário mais eficiente e melhorando a qualidade das saídas do sistema. O sistema modernizado permitiu relatórios personalizados, fichas técnicas em várias línguas e desenhos dinâmicos de pivôs. Além disso, ofereceu atualizações em massa, operação 100% na nuvem e mais funcionalidades para as revendas. Atualmente, o sistema continua em desenvolvimento e suporte, fornecendo cada vez mais recursos que impulsionam a eficiência operacional da Krebs e seu setor de engenharia.