Instalação
Este guia irá ajudar-te a concluir a instalação e a configuração inicial do Doggy Framework.
Pré-requisitos
- PHP >= 8.2
- ext-ctype, ext-iconv
- PostgreSQL >= 14
- Composer >= 2.5
Estrutura de diretórios
my-app/
├── Caddyfile # Configuração do FrankenPHP (Hub Mercure, compressão, cache)
├── config/
│ ├── bundles.php
│ ├── packages/ # 31 ficheiros de configuração 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 templates Twig
└── public/ # ficheiros de entradaInstalação das dependências de ambiente
PostgreSQL
bash
# macOS
brew install postgresql@14
brew services start postgresql@14
# Ubuntu/Debian
sudo apt install postgresql-14
sudo systemctl start postgresqlCriar a base de dados:
bash
createdb appMercure Hub
O Mercure Hub está integrado no FrankenPHP e fica disponível apenas configurando o Caddyfile, sem instalação adicional. Ver Configuração do Mercure.
Iniciar a aplicação
A aplicação é executada na máquina anfitriã através do FrankenPHP:
bash
# Ambiente de desenvolvimento
symfony serve
# Ambiente de produção (modo Worker do FrankenPHP)
cd my-app && php -d variables_order=EGPCS bin/runtime -vvvO FrankenPHP lê automaticamente a configuração do Caddyfile e fica à escuta em http://localhost:8000.
Inicializar a base de dados
bash
php bin/console doctrine:database:create
php bin/console doctrine:migrations:migrate
php bin/console doctrine:fixtures:loadInicializar os dados base
bash
# Inicializar as contas de administrador (três responsáveis)
php bin/console app:init-officers
# Gerar o menu estático
php bin/console app:ef:init-admin-menuContas predefinidas
| Papel | Nome de utilizador | Palavra-passe inicial |
|---|---|---|
| Administrador de sistema | admin | admin123 |
| Responsável pela segurança | security | security123 |
| Auditor de segurança | auditor | auditor123 |
⚠️ Em ambiente de produção, todas as palavras-passe predefinidas devem ser alteradas.
Acesso
- Aplicação: http://localhost:8000
- Backoffice: http://localhost:8000/admin
- Início de sessão: http://localhost:8000/login
Passos seguintes
- Modelo dinâmico — conhece o sistema de anotações
@Ef - Estrutura organizacional — constrói a árvore organizacional da empresa
- WebAuthn — configura o início de sessão sem palavra-passe