cordeirodamata/

├── cordeirodamata.php # Ficheiro principal
│ ├── Cabeçalho do plugin
│ ├── require_once includes/*
│ ├── register_activation_hook (cdm_install)
│ ├── add_menu_page → cdm_dashboard_router
│ ├── Shortcode [cordeirodamata__dashboard]
│ └── Função cdm_enqueue_assets (CSS/JS)

├── includes/
│ ├── gestao-de-DB.php # Gestão da base de dados
│ │ ├── cdm_install()
│ │ ├── Funções para criar tabela cdm_events
│ │ └── Inserir/consultar eventos
│ │
│ ├── rest-api.php # Endpoints REST
│ │ ├── Receber eventos dos ESP32/ESP32CAM
│ │ └── Gravar eventos na tabela
│ │
│ └── dashboard.php # Lógica de apresentação
│ ├── cdm_dashboard_router() # Lista ou detalhe
│ ├── cdm_render_dashboard() # Lista de dispositivos
│ ├── cdm_event_detail_page() # Detalhe do dispositivo
│ ├── cdm_get_events_por_dispositivo() # Auxiliar
│ └── cdm_ajax_refresh_dashboard() # Atualização via AJAX

├── assets/
│ ├── dashboard.css # Estilos (tabelas, ícones, estados)
│ └── dashboard.js # JS (refresh automático via AJAX)

└── README.md (opcional) # Documentação do plugin