Initial commit — Donna portal v1

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
This commit is contained in:
Soporte ZH Consultores
2026-05-11 19:10:36 +00:00
commit 4ee32aec6d
21 changed files with 2327 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
<?php
declare(strict_types=1);
final class Apps {
public static function catalog(): array {
return [
[
'slug' => 'escrituras',
'title' => 'Control de Escrituras',
'description' => 'Seguimiento de trámites notariales: estado, abogado, notaría, historial y auditoría.',
'icon' => 'document',
'href' => '/escrituras/',
'status' => 'live',
],
[
'slug' => 'casos',
'title' => 'Gestión de Casos',
'description' => 'Expedientes, plazos procesales y notas de cada asunto.',
'icon' => 'briefcase',
'href' => '#',
'status' => 'coming-soon',
],
[
'slug' => 'agenda',
'title' => 'Agenda',
'description' => 'Calendario compartido de audiencias, reuniones y vencimientos.',
'icon' => 'calendar',
'href' => '#',
'status' => 'coming-soon',
],
[
'slug' => 'clientes',
'title' => 'Directorio de Clientes',
'description' => 'Datos de contacto, sociedades vinculadas y matriz de KYC.',
'icon' => 'users',
'href' => '#',
'status' => 'coming-soon',
],
];
}
}