Guia do Desenvolvedor
Documentação técnica para desenvolvedores que desejam entender a arquitetura da plataforma ION Guard, criar novos módulos ou estender funcionalidades existentes.
Arquitetura
O ION Guard é construído sobre uma arquitetura modular onde o core da plataforma fornece:
- Multi-tenancy com isolamento por linha (single-database)
- Sistema de autenticação e autorização com 5 perfis hierárquicos
- Engine de alertas com handlers registráveis por módulo
- Sistema de eventos com broadcasting em tempo real (WebSocket)
- Sistema de relatórios com exportação assíncrona
- Pipeline de deploy Docker completo
Os módulos estendem a plataforma adicionando:
- Models, migrations e seeders próprios
- Controllers (Web + API) com rotas próprias
- Páginas frontend (React + Inertia)
- Alert handlers e report handlers
- Jobs e commands agendados
- Configurações específicas
- Workers MQTT ou outros processos
Stack tecnológico
| Camada | Tecnologia |
|---|---|
| Backend | PHP 8.4 + Laravel 12 |
| Frontend | React 19 + TypeScript 5.9 |
| Bridge | Inertia.js v2 |
| CSS | Tailwind CSS 4 |
| UI | Radix UI + CVA + Lucide React |
| WebSocket | Laravel Reverb + Echo |
| Auth | Fortify + Sanctum |
| Banco de dados | MariaDB 11 |
| Time-series | InfluxDB 2.7+ |
| Cache/Fila | Redis (Valkey 8) |
| MQTT | Mosquitto |
| Testes | Pest v4 |
Guias
Entendendo o sistema
- Sistema de Módulos — Como a arquitetura modular funciona
- Contrato de Módulo — Interface que todo módulo implementa
- Frontend Modular — Como módulos registram páginas, componentes e traduções
Criando extensões
- Criando um Módulo — Guia passo a passo
- Alert Handlers — Adicionando novos tipos de alerta
- Report Handlers — Adicionando novos relatórios
- Drivers de Hardware — Integrando novos dispositivos BLE