App Mobile — Flutter

O Radar Bov é o aplicativo iOS e Android do RadarBov, construído com Flutter. É o principal instrumento de campo — com ele os operadores registram movimentações diretamente nas fazendas, lendo brincos RFID via Bluetooth e capturando localização GPS.

Package: granter | Versão: 0.7.18+29 | Idioma: Português (pt-BR)


Stack técnica

ComponenteTecnologia
FrameworkFlutter (Dart SDK ≥3.3.3)
DesignMaterial Design 3, fonte Poppins
RoteamentoGoRouter 14.8.1
Injeção de dependênciasGetIt 7.6.8
EstadoChangeNotifier (padrão Flutter)
HTTPDio 5.8.0
Banco localSQLite via sqflite 2.4.2 (schema v34)
Tokens JWTflutter_secure_storage 9.0.0
Bluetooth Androidflutter_bluetooth_serial (fork, submodule)
Bluetooth iOSflutter_blue_plus 2.0.2 + flutter_bluetooth_iap
GPSgeolocator 14.0.2
PushOneSignal 5.3.3
Mapasflutter_map 8.2.2 + latlong2
Áudiojust_audio 0.9.40
Errosdartz 0.10.1 (Either)

Arquitetura — Clean Architecture + DDD

O app segue Clean Architecture + Domain-Driven Design em 4 camadas:

lib/src/
├── domain/          → entidades, contratos de repositório
├── application/     → use cases, lógica de negócio
├── infrastructure/  → implementações (API, SQLite, Bluetooth, GPS)
└── presenter/       → UI (screens, widgets, stores)

Cada feature tem seu próprio injector (GetIt), store (ChangeNotifier) e arquivos de tradução JSON.


Funcionalidades

MóduloFunção
auth/Login, cadastro multi-etapas, recuperação de senha
home/Dashboard com atalhos para operações
animal_ingress/Entrada de Animais
animal_egress/Saída de Animais
animal_identification/Identificação de Animais
tracking/Viagens e Rastreamento
gta/GTA - Guia de Trânsito Animal
data_sharing/Compartilhamento de Dados
invites/Convites e Permissões
synchronization_errors/Erros de sincronização
search_tag/Busca de brinco
socioenvironmental_history/Conformidade Socioambiental

Diferencial: offline-first

O app foi projetado para funcionar sem internet e sincronizar quando houver conexão. Ver Modo Offline e Sincronização para detalhes.


Diferencial: leitura RFID via Bluetooth

O app conecta-se a leitores RFID Bluetooth de campo (Allflex, Agrident, Tru-Test e outros). Ver Leitura de Brincos via Bluetooth para detalhes.


Ambientes

AmbienteEntry point
Devmain_dev.dart
Stagingmain_staging.dart
Prodmain_prod.dart
PCImain_pci.dart

Comparação com o portal web

AspectoWeb (Vue)Mobile (Flutter)
Uso principalGestão e consultaOperação em campo
RFID BluetoothNãoSim
OfflineNãoSim
GPSNãoSim
Push notificationsNãoSim
Cadastro de usuárioVia administradorAuto-cadastro

Ver também