API v1

AppMonisat Android — Documentação Técnica

Referência completa dos módulos do app Android escrito em Kotlin + MVVM, com paridade total à versão iOS.

🤖 Kotlin / MVVM 🧩 ViewBinding + Navigation 🗺️ OSMDroid 🌐 OkHttp + Coroutines 🔥 Firebase (FCM)
Módulos
15
Stack UI
XML Views
Padrão
MVVM
Mín. SDK
24

A versão Android do AppMonisat segue MVVM com Navigation Component (single-activity, fragments por tela) e ViewModel + Fragment por feature. As telas novas usam o padrão *New (v1 + OkHttp + Coroutines); classes sem sufixo são legado. Cada módulo abaixo tem documentação dedicada com fluxos, classes e endpoints v1.

Estrutura de pacotes (com/br/appmonisat/)

com/br/appmonisat/
├── MainActivity.kt              · single-activity, NavHost, enforceAppUpdate
├── generic/                     · componentes/diálogos reutilizáveis (ex.: SelectionBottomSheetDialog)
├── helpers/                     · AppUpdateHelper, ClientInfo, DriverSessionCache, ElasticsearchAndroidClient, HttpPagination…
├── interfaces/                  · contratos/callbacks
├── messaging/                   · Message.kt (FirebaseMessagingService — push FCM)
├── model/                       · data classes / DTOs
├── service/                     · BackgroundService (rastreador GPS + socket MONIAPP)
├── util/                        · PlateUtils, CurrencyUtils e utilidades globais
└── ui/                          · uma subpasta por módulo (Fragment + ViewModel + adapter)
    ├── login/ · home/           · autenticação e dashboard
    ├── trips/ · trip/ · grid/   · cadastro, edição e lista de viagens
    ├── map/                     · MapFragment (OSMDroid)
    ├── manager/ · driver/       · gestão e viagem ativa do motorista
    ├── historic/                · histórico + Ver Situação / troca de reboque
    ├── checklist/ · sistemic/   · inspeção veicular e de IoT
    ├── disregard/               · desconsideração de alertas
    ├── notification/ · reports/ · push e relatórios
    ├── config/                  · ConfigurationFragment (empresa, permissões, logout)
    ├── vehicles/                · lista de veículos (cache offline)
    └── gallery/ · journey/ · screen/ · stubs / descontinuados (sem doc)

Telas por módulo

MóduloFragment principalPastaFunção
LoginLoginFragmentNewui/login/Autenticação, biometria, OTP, troca de empresa
HomeHomeFragmentui/home/Dashboard, atalhos, badges FCM
ViagensTripCadFragment + TabHelpersui/trip/ · ui/trips/Cadastro e edição de viagens com abas
GridGridTripFragmentui/grid/Lista filtrável de viagens em cards
MapaMapFragment (OSMDroid)ui/map/Mapa com posições e rotogramas em tempo real
ManagerTripManagerFragmentui/manager/Gestão de viagens, apólice e semáforo
DriverDriverFragmentui/driver/Viagem ativa, navegação por voz, cache offline
HistóricoHistoricFragmentui/historic/Histórico por apólice, Ver Situação, troca de reboque
ChecklistChecklistFragmentNewui/checklist/Inspeção veicular pré/pós, filtro server-side
Checklist SistemicoFragmentSistemicList · FragmentSistemicSchedule · FragmentCadSistemicui/sistemic/Inspeção IoT, máquina de estados P/I/F/C, countdown
DesconsideraçãoDisregardFragment + DisregardCadFragmentui/disregard/Registro de alertas desconsiderados
NotificaçõesNotificationFragmentui/notification/Push FCM, cache, filtros UNREAD/READ/ALL
VeículosGridFragment (vehicles)ui/vehicles/Lista de veículos, busca por placa, cache offline
ConfiguraçõesConfigurationFragmentui/config/Empresa, permissões, logout, workers
RastreadorBackgroundServiceservice/GPS foreground, socket TCP MONIAPP, cache LIFO

Paridade com iOS

Todos os módulos Android espelham o backend v1 (api.monisystem.com/v1). Para equivalência de classes entre plataformas, consulte Paridade Android/iOS.

Próximos passos

  • Cada link da tabela acima leva à documentação detalhada de um módulo Android.
  • A estrutura de cada página espelha o padrão iOS (badges, fluxo passo-a-passo, endpoints, tabelas de classes).
  • Comece pela Arquitetura Android para entender o stack e o padrão *New de ViewModel + Fragment.