API v1

AppMonisat iOS — Documentação Técnica

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

🍎 Swift / UIKit 📦 CocoaPods 🗺️ MapKit + GoogleMaps 🔌 URLSession + Starscream 🔥 Firebase (FCM)
Módulos
16
Stack UI
UIKit
Padrão
MVC + Service
Mín. iOS
iOS 14+

A versão iOS do AppMonisat segue a arquitetura clássica UIKit (UIViewController por tela) com camadas auxiliares Service / Model por feature. Cada módulo abaixo tem documentação dedicada com fluxos, classes e endpoints v1.

Estrutura de pastas (AppMonisatIos/)

AppMonisatIos/
├── AppDelegate.swift              · bootstrap, FCM, deep-links
├── SceneDelegate.swift            · ciclo de vida UIScene
├── AppMonisatIos.entitlements     · push, background-modes, location
├── Info.plist · Config1.plist     · permissões, chaves, ambiente
├── components/                    · UI components reutilizáveis
├── general/                       · extensions, utils globais
├── model/, models/                · domain models e DTOs
├── modal/                         · base de modais customizados
├── socket/                        · TCPClient + WebSocketService
├── background/                    · BackgroundTask scheduler
├── login/                         · LoginViewController + opções/biometria
├── home/                          · HomeViewController (dashboard)
├── trips/ · cadTrips/             · gestão e cadastro de viagens
├── grid/                          · GridViewController (lista de viagens)
├── map/                           · ViewController (MapKit)
├── manager/ · driver/ · historic/ · módulos operacionais
├── checklist/ · sistemic/         · inspeção veicular e de IoT
├── disregard/                     · desconsideração de alertas
├── notification/ · reports/       · push e relatórios
├── config/                        · configurações + troca de senha
└── monitor/ · filter/ · details/  · suporte (sensores, filtros, detalhes)

Telas por módulo

MóduloViewController principalPastaFunção
LoginLoginViewControllerlogin/Autenticação, biometria FaceID/TouchID, OTP
HomeHomeViewControllerhome/Dashboard, atalhos, badges FCM
ViagensTripCadViewController · CadTripViewController1cadTrips/Cadastro e edição de viagens com modais
GridGridViewController · GridViewControllerV1grid/Lista filtrável de viagens
MapaViewController (map)map/MapKit, rotas, marcadores em tempo real
ManagerManagerViewController · TripManager1manager/Gestão de viagens, apólice e semáforo
DriverDriverViewControllerdriver/Viagem ativa, navegação por voz
HistóricoHistoricViewControllerhistoric/Histórico por apólice
ChecklistCheckListViewController · ChecklistItemsViewControllerchecklist/Inspeção veicular pré/pós
Checklist SistemicoSistemicListVC · SistemicScheduleVC · SistemicCadVCsistemic/Inspeção IoT, máquina de estados P/I/F/C
DesconsideraçãoDisregardViewController · DisregardCadViewControllerdisregard/Registro de alertas desconsiderados
NotificaçõesNotificationViewController · NotificationTabViewControllernotification/Push FCM, cache, filtros
RelatóriosReportViewControllerreports/Temperatura, gráficos, export
ConfiguraçõesConfigViewController · ChangePasswordViewControllerconfig/Empresa, permissões, logout, troca de senha
Socket / WebSocketTCPClient · WebSocketServicesocket/Socket TCP MONIAPP + WebSocket de eventos
Background TasksBackgroundTaskbackground/BGTaskScheduler, location updates, FCM em background

Paridade com Android

Todos os módulos iOS espelham o backend v1 (api2.monisat.online). 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 iOS.
  • A estrutura de cada página espelha o padrão Android (badges, fluxo passo-a-passo, endpoints, tabelas de classes).
  • Comece pela Arquitetura iOS para entender o stack e padrões usados.