Estudo de caso · Monitoramento ambiental

Coleta de dados de campo confiável — mesmo sem internet.

Um ecossistema completo de software — aplicativo offline-first, painel de gestão e relatórios automatizados — construído para o monitoramento de qualidade de água no âmbito do Projeto de Integração do Rio São Francisco (PISF).

8

parâmetros de qualidade de água por coleta

4

aplicações integradas, do campo ao relatório

100%

dos registros rastreáveis por técnico, ponto e horário

0

duplicidades na sincronização, garantido por design

O desafio

Monitorar a água onde a conexão não chega.

O PISF leva água do Rio São Francisco ao semiárido nordestino por centenas de quilômetros de canais e reservatórios. O monitoramento da qualidade dessa água exige que técnicos registrem, em campo, parâmetros como pH, turbidez, condutividade e oxigênio dissolvido — muitas vezes em pontos remotos, sem cobertura de celular.

Sem uma ferramenta adequada, esse fluxo depende de anotações em papel e digitação posterior em planilhas: um processo lento, sujeito a erros de transcrição e que deixa a coordenação sem visibilidade do que acontece no campo.

Sem sinal nos pontos de coleta

Qualquer solução 100% online simplesmente não funciona na rotina real do campo.

Papel e retrabalho

Dados anotados à mão e redigitados depois multiplicam erros de transcrição e atrasos.

Coordenação sem visibilidade

Sem um painel central, acompanhar a produção das equipes e a situação dos pontos de monitoramento vira tarefa manual.

A solução

Um ecossistema, quatro aplicações integradas.

Em vez de uma ferramenta isolada, o caso pedia um fluxo completo: do registro no campo à planilha na mesa da coordenação.

Flutter · offline-first

Portal do Técnico

Aplicativo móvel em que o técnico seleciona o ponto de monitoramento e registra os 8 parâmetros de qualidade de água. Tudo funciona sem internet: os registros ficam em fila local e são sincronizados automaticamente quando a conexão volta. Após o primeiro login, o acesso também funciona offline.

Web · tempo real

Painel de Coletas

Dashboard web para coordenadores: totais de coletas, produção por técnico e por ponto, gráfico dos últimos 14 dias, filtros por período e status de sincronização, além de exportação direta para Excel. O que acontece no campo aparece no painel assim que o dado sincroniza.

Python · automação

Relatórios automatizados

Rotina em Python que extrai a base completa de coletas na nuvem e gera planilhas Excel padronizadas — eliminando a digitação manual e mantendo o formato que os processos de gestão ambiental já utilizam.

PHP · CI/CD

Hub de distribuição

Área logada neste site que distribui o aplicativo com segurança para a equipe — downloads protegidos por autenticação, sem depender de lojas de apps — com publicação automática a cada atualização via integração contínua.

Arquitetura

O caminho do dado, do sertão à planilha.

1 · Campo

Registro no ponto

O técnico registra os 8 parâmetros no app. O dado é gravado primeiro na fila local do aparelho, com identificador único.

2 · Sincronização

Envio automático

Quando o aparelho encontra conexão, a fila é enviada à nuvem. Reenvios são idempotentes: interrupções não geram registros duplicados.

3 · Nuvem

Base única e segura

Todos os registros ficam em uma base central (Cloud Firestore), com regras de acesso por usuário e carimbo de data/hora do servidor.

4 · Gestão

Painel e relatórios

Coordenadores acompanham tudo no painel web e exportam planilhas Excel — manualmente ou pela rotina automatizada em Python.

Por que nenhum dado se perde

Cada coleta nasce com um identificador único e só é marcada como sincronizada depois que a nuvem confirma a gravação. Se o envio for interrompido — queda de sinal, bateria, app fechado — o registro permanece na fila e é reenviado no próximo ciclo. Como o identificador é o mesmo, o reenvio sobrescreve o próprio registro em vez de duplicá-lo. O resultado: confiabilidade por arquitetura, não por sorte.

Stack tecnológica

Flutter / Dart Riverpod Firebase Authentication Cloud Firestore Hive (fila offline) HTML / JavaScript Python (relatórios) PHP (área logada) Tailwind CSS GitHub Actions (CI/CD)
Resultados

O que mudou na prática.

Fim da redigitação

O dado é digitado uma única vez, no ponto de coleta, e chega intacto à planilha final — sem transcrição manual e sem os erros que vêm com ela.

Visibilidade imediata

A coordenação acompanha as coletas no painel assim que os dados sincronizam, em vez de esperar o fechamento de planilhas ao fim do período.

Rastreabilidade total

Cada registro carrega técnico responsável, ponto de monitoramento, horário da coleta e horário de chegada ao servidor — uma trilha auditável de ponta a ponta.

Operação autônoma

Distribuição do app, atualizações e publicação do site acontecem por fluxo automatizado — a equipe recebe novas versões sem depender de lojas de aplicativos.

Parte deste ecossistema é código aberto: o painel de coletas está disponível no GitHub.

Ver o painel no GitHub

Sua operação de campo também merece dados confiáveis.

Monitoramento ambiental, coleta de dados em áreas remotas, painéis de gestão — vamos conversar sobre o que dá para construir.