Instalación
Esta guía te ayudará a completar la instalación y la configuración inicial de Doggy Framework.
Requisitos previos
- PHP >= 8.2
- ext-ctype, ext-iconv
- PostgreSQL >= 14
- Composer >= 2.5
Estructura de directorios
my-app/
├── Caddyfile # Configuración de FrankenPHP (incluye Mercure Hub, compresión, caché)
├── config/
│ ├── bundles.php
│ ├── packages/ # 31 archivos de configuración de Bundles
│ └── services.yaml
├── src/
│ ├── Annotation/ # Ef.php, EfGroup.php
│ ├── Entity/ # Organization, Platform, Security, Storage, System, Traits
│ ├── Controller/ # Admin, Api, Security
│ ├── Service/ # AI, Storage, Security, Task, Platform, etc.
│ └── ...
├── templates/ # 143 plantillas Twig
└── public/ # Archivo de entradaInstalación de dependencias del entorno
PostgreSQL
bash
# macOS
brew install postgresql@14
brew services start postgresql@14
# Ubuntu/Debian
sudo apt install postgresql-14
sudo systemctl start postgresqlCrear la base de datos:
bash
createdb appMercure Hub
El Mercure Hub está integrado en FrankenPHP y se configura a través del Caddyfile; no requiere instalación adicional. Ver Configuración de Mercure.
Iniciar la aplicación
La aplicación se ejecuta en la máquina host mediante FrankenPHP:
bash
# Entorno de desarrollo
symfony serve
# Entorno de producción (modo Worker de FrankenPHP)
cd my-app && php -d variables_order=EGPCS bin/runtime -vvvFrankenPHP lee automáticamente la configuración del Caddyfile y escucha en http://localhost:8000.
Inicializar la base de datos
bash
php bin/console doctrine:database:create
php bin/console doctrine:migrations:migrate
php bin/console doctrine:fixtures:loadInicializar los datos básicos
bash
# Inicializar las cuentas de administrador (tres funcionarios)
php bin/console app:init-officers
# Generar el menú estático
php bin/console app:ef:init-admin-menuCuentas por defecto
| Rol | Nombre de usuario | Contraseña inicial |
|---|---|---|
| Administrador del sistema | admin | admin123 |
| Oficial de seguridad | security | security123 |
| Auditor de seguridad | auditor | auditor123 |
⚠️ En producción es obligatorio cambiar todas las contraseñas por defecto.
Acceso
- Aplicación: http://localhost:8000
- Panel de administración: http://localhost:8000/admin
- Inicio de sesión: http://localhost:8000/login
Siguientes pasos
- Modelo dinámico — conoce el sistema de anotaciones
@Ef - Estructura organizativa — construye el árbol organizativo de la empresa
- WebAuthn — configura el inicio de sesión sin contraseña