Skip to main content

Developer Guide

Technical documentation for developers who want to understand the IonGuard platform architecture, create new modules, or extend existing functionality.

Architecture

IonGuard is built on a modular architecture where the platform core provides:

  • Multi-tenancy with row-level isolation (single-database)
  • Authentication and authorization system with 5 hierarchical profiles
  • Alert engine with registerable handlers per module
  • Event system with real-time broadcasting (WebSocket)
  • Reports system with asynchronous export
  • Complete Docker deploy pipeline

Modules extend the platform by adding:

  • Their own models, migrations, and seeders
  • Controllers (Web + API) with their own routes
  • Frontend pages (React + Inertia)
  • Alert handlers and report handlers
  • Scheduled jobs and commands
  • Specific configurations
  • MQTT workers or other processes

Technology stack

LayerTechnology
BackendPHP 8.4 + Laravel 12
FrontendReact 19 + TypeScript 5.9
BridgeInertia.js v2
CSSTailwind CSS 4
UIRadix UI + CVA + Lucide React
WebSocketLaravel Reverb + Echo
AuthFortify + Sanctum
DatabaseMariaDB 11
Time-seriesInfluxDB 2.7+
Cache/QueueRedis (Valkey 8)
MQTTMosquitto
TestsPest v4

Guides

Understanding the system

Creating extensions