WE - Dhedalos Backend WordPress
Backend WordPress do portal Dhedalos, com dominio implementado majoritariamente no tema we-dhedalos.
Visao geral do repositorio
we-dhedalos/- tema WordPress com endpoints REST (
dhedalos/v1), regras de negocio, CPTs, jobs e integrações.
- tema WordPress com endpoints REST (
wordpress/- raiz do WordPress usada no ambiente local.
docker-compose.yml,Dockerfile,docker/- stack local (
nginx+wordpress+mariadb+redis).
- stack local (
helm/,kubernetes/- manifests de deploy em Kubernetes.
.github/workflows/ci-cd-pipeline.yml- pipeline de build/push/deploy.
docs/- documentacao tecnica de arquitetura, API, dados, operacao e features.
Iniciando localmente
docker compose up -d --build
Acesse:
- App:
http://localhost - API (prefixo customizado):
http://localhost/api
Comandos principais
Dev
docker compose up -d --build
docker compose logs -f nginx wordpress mariadb redis
docker compose stop
docker compose start
docker compose down
Build
docker build -t dhedalos-app-backend-wp:local .
Test
Nao existe suite automatizada unica no root (ex.: phpunit configurado no projeto inteiro).
No backend ha endpoints de suporte a QA:
we-dhedalos/functions/rest/tests.phpwe-dhedalos/functions/rest/tests-fixtures.php
Variaveis de ambiente (exemplos)
Banco e debug
WORDPRESS_DB_HOST=mariadb:3306
WORDPRESS_DB_USER=root
WORDPRESS_DB_PASSWORD=<db_password>
WORDPRESS_DB_NAME=wordpress
WORDPRESS_DEBUG=true
WORDPRESS_TABLE_PREFIX=wp_
Runtime WordPress (via WORDPRESS_CONFIG_EXTRA)
WP_HOME=http://localhost
WP_SITEURL=http://localhost
WP_CACHE=true
WP_REDIS_HOST=redis
API_SERVICE_TOKEN=<service_token>
JWT_AUTH_SECRET_KEY=<jwt_secret>
WP_DEBUG_DISPLAY=false
Notificacoes e integrações
NOVU_API_KEY=<novu_api_key>
NOVU_API_URL=https://api.novu.co/v1/events/trigger
API_DELIVERABLE_SUBSCRIPTIONS_URL=https://<host>/api
API_DELIVERABLE_SUBSCRIPTIONS_KEY=<deliverable_api_key>
Observacao Kubernetes
Nos ambientes K8s, o chart usa envSecret: app-backend-wp-envs em arquivos kubernetes/**/values.yaml.
Documentacao
- Hub de docs:
docs/ - Arquitetura:
docs/architecture/c4-component.md- Mindmap (Mermaid):
docs/architecture/mindmap.md
- Mindmap (Mermaid):
- API:
docs/api/openapi.yamldocs/api/examples.mddocs/api/endpoint-inventory.mddocs/api/authentication.md
- Dados:
docs/data/model.md - Operacao:
docs/operations/runbook.mddocs/operations/observability.md
- Features:
docs/features/README.md - ADR:
docs/adr/0001-architecture-overview.md
Contexto C4 L1
Atores
- Participante (
subscriber) - Facilitador (
facilitator) - Supervisor (
supervisor) - Administrador (
administrator) - Servicos internos consumidores da API com token de servico
Aplicacoes externas
- SimplyBook (agenda/booking)
- 8x8/Jitsi (salas e token JWT)
- Novu (notificacoes)
- API de agenda (campo
agendaem ACF options) - API de submissions (
API_DELIVERABLE_SUBSCRIPTIONS_URL) - ViaCEP (importadores)
Dependencias externas
- Docker / Docker Compose
- Nginx
- MariaDB
- Redis
- Kubernetes + Helm
- Docker Registry (parametrizado no workflow)
Links para outros repositorios
- Pendencia: nao foram encontrados links explicitos para outros repositorios da solucao dentro deste repositorio.
Deploy e ambientes
Conforme .github/workflows/ci-cd-pipeline.yml:
develop->piloto-dhedalos-ecosystem(oke-we-002)main->dhedalos-ecosystem(oke-we-001)main->essencia-ecosystem(oke-we-001)development->dev-dhedalos-wp(oke-we-002)
Pendencias
- A pipeline referencia deploy para
dev-dhedalos-wp, mas o arquivokubernetes/oke-we-002/dev-dhedalos-wp/values.yamlnao foi encontrado no estado atual do repositorio.