- 5 apps live (escrituras, tramites, calendario, horas, admin)
con descripción de cada una
- 4 roles (admin, socio, abogado, usuario) y matriz de permisos
- Patrón Bootstrap::inject + window.DONNA
- AuditLog y canView() documentados
- FK user_id en hours/obs
- Módulo compartido DonnaExport (Excel + PDF) con API JS
- Eventos de hoy en home
- 14 migraciones SQL listadas en orden
- Setup en server nuevo con aplicación batch de migraciones
- Guía "agregar una app nueva" actualizada
Setup completo del portal interno donna.aal-law.com:
* Landing público con OAuth login + grid de apps autenticado
* Flujo OAuth2 contra Mailcow (mail.aal-law.com)
* Sesiones SSO compartidas en el dominio (cookie donna_session, 8h)
* Whitelist de dominios aal-law.com / aalnlaw.com
* App "Control de Escrituras" migrada desde ZH-Consultores/control-escrituras
(mismo schema, mismo frontend, ahora con shared Auth/Db/Config libs)
* Migraciones SQL para users, escrituras_tramites, escrituras_historial
* Caddy on :80 con rewrite extless → .php
* Backup diario MariaDB (systemd timer + script) con retención 14d
* Documentación de arquitectura en README + infra files en docs/infra