← Todos os projetos

Vibraguard

Gestão de ativos e ordens de serviço para equipes de manutenção. Vincula dispositivos por QR code, monitora o status deles e acompanha a manutenção em um só app.

Tipo
Desafio técnico
Ano
2023
Stack
FlutterMVVMMobXProviderGetItDiomobile_scannerSyncfusion Charts

Visão geral

O VibraGuard é um app de gestão de ativos e serviços para equipes de manutenção, engenheiros e gestores de ativos. Ele reúne dispositivos monitorados e ordens de serviço em um só lugar, para que um técnico possa ver o estado de um ativo e agir pelo celular.

O problema

Equipes de manutenção perdem tempo quando os dados dos ativos e as ordens de serviço ficam em lugares diferentes, e o cadastro manual de dispositivos gera erros de digitação. O app foca em três coisas: ver o estado de cada ativo monitorado, acompanhar o trabalho de manutenção e vincular dispositivos de forma rápida e sem erros.

O que o app faz

  • Vínculo por QR code: escaneie o QR code de um dispositivo para vinculá-lo à plataforma, sem digitação manual.
  • Monitoramento de dispositivos: uma lista de todos os ativos monitorados com status, histórico e localização.
  • Detalhes do dispositivo: métricas em tempo real, histórico de manutenção e documentação de cada ativo.
  • Ordens de serviço: acompanhe ordens abertas e concluídas e priorize as tarefas de manutenção.
  • Detalhes da ordem de serviço: descrição, status, responsáveis e histórico de ações.
  • Onboarding, login e cadastro, com validação dos formulários.
Onboarding
Onboarding
Login
Login
Ativos monitorados
Ativos monitorados
Detalhes do ativo
Detalhes do ativo
Leitor de QR code
Leitor de QR code
Detalhes da ordem de serviço
Detalhes da ordem de serviço

Decisões técnicas

  • Arquitetura MVVM: regras de negócio, interface e representação dos dados ficam em camadas separadas. Cada camada pode mudar sozinha, o que reduz o risco de efeitos colaterais ao atualizar uma tela.
  • MobX para estado reativo, com GetIt para injeção de dependência, mantendo os view models independentes dos widgets que os usam.
  • Dio para requisições HTTP, com logger para facilitar a investigação de problemas de rede.
  • mobile_scanner e qr_flutter para ler e gerar QR codes.
  • Syncfusion Flutter Charts para mostrar as métricas dos dispositivos.
  • Git hooks com Husky e flutter_lints para manter o código consistente.

O design foi feito no Figma antes da implementação.

Resultado

O resultado é um código modular que segue os princípios de Clean Code, em que novas telas e funcionalidades podem ser adicionadas sem mexer em camadas não relacionadas.