# Arquitectura

La cuenta pertenece a una persona; un hogar agrupa miembros, habitaciones
y dispositivos. Los permisos se resuelven por hogar en el backend.

Arquitectura objetivo:

```text
App móvil web → HTTPS → Apache → API PHP → MariaDB/MySQL
Dispositivo → WSS → Apache → Node en localhost
                              ↕ canal interno por definir
                            API PHP
```

PHP concentra lógica de negocio y autorización. Node gestiona conexiones
persistentes; los dispositivos inician la conexión hacia el servidor.
El navegador muestra estados confirmados y distingue acciones pendientes.

Estado actual: solo API PHP con `GET /api/v1/health` (también HEAD),
404 para rutas desconocidas y 405 para métodos no permitidos.
No hay conexión a datos, controles ni autenticación implementados.
El simulador permitirá validar el flujo completo antes de conectar ESP32.

## Actualización — fase de usuarios y hogares

El estado anterior de solo health corresponde a la fase inicial. Ahora
existen interfaz web, sesiones, usuarios, hogares, miembros y habitaciones.
MariaDB almacena los datos; la API consulta permisos por hogar en cada
operación. Dispositivos, WebSocket y comandos continúan pendientes.

## Monitoreo implementado

ESP32/simulador → WSS público → Apache → Node localhost → MariaDB privado.
La app consulta PHP cada 5 segundos. PHP devuelve solo dispositivos de los
hogares autorizados y, para niños, de las habitaciones permitidas. Node
persiste datos de sensores y presencia sin aceptar comandos de negocio.
El piloto utiliza /homecore para la app/API y /homecore/ws para dispositivos.
