Pular para o conteúdo principal

Inventário do Repositório -- Lean nas Emergências

Introdução ao documento

Este documento consolida o inventário técnico do repositório com base em evidências do código e das configurações. Serve como ponto de partida para entender a composição, integrações e operação do sistema.

Versionamento

  • Versão do documento: 1.0.0
  • Última atualização: 2026-03-10
  • Responsável: Equipe HSL / Weef Interativa

Referencial teórico

Mapa de descoberta técnica

flowchart LR
SRC[Código/configs] --> EP[Entrypoints]
SRC --> MOD[Pastas e módulos]
SRC --> INT[Integrações]
SRC --> ENV[Env vars]
EP --> OPS[Comandos run/test/build]

Propósito do repo

Plataforma WordPress customizada para gestão do programa Lean nas Emergências do Hospital Sírio-Libanês (HSL). O sistema permite:

  • Cadastro e gestão de hospitais (via grupos BuddyPress)

  • Cadastro de usuários com sistema de indicação

  • Coleta e visualização de KPIs (indicadores de performance hospitalar)

  • Integração com plataforma EAD (Canvas LMS)

  • Fórum de discussão (via BBPress)

  • Biblioteca virtual

  • Evidência: theme/style.css:1-6 (Theme Name: Lean nas Emergências 5.2)

  • Evidência: Readme.md:1 (descrição do projeto)

Entrypoints

1. WordPress Core

  • Arquivo: index.php (WordPress padrão, não versionado)
  • Descrição: Entrypoint principal do WordPress
  • Evidência: Estrutura padrão WordPress

2. Tema customizado

  • Arquivo: theme/functions.php
  • Descrição: Carrega toda a lógica do tema via theme/functions/wp/setup.php
  • Evidência: theme/functions.php:5

3. Must-Use Plugin (Email Logger)

  • Arquivo: mu-plugins/email-logger.php
  • Descrição: Plugin obrigatório para rastreamento de emails
  • Evidência: mu-plugins/email-logger.php:1-40

4. Docker Compose

  • Arquivo: docker-compose.yml
  • Descrição: Orquestração de containers (WordPress + MySQL)
  • Evidência: docker-compose.yml:1-47

Principais pastas e responsabilidade

PastaResponsabilidadeEvidência
theme/Tema WordPress customizado (Lean nas Emergências 5.2)theme/style.css:1
theme/functions/Lógica de negócio modular, carregada automaticamentetheme/functions/wp/setup.php:1
theme/functions/wp/Configuração core do WordPress (menus, admin, AJAX, login)theme/functions/wp/setup.php
theme/functions/helpers/35+ arquivos utilitários (posts, hospitais, BP, AJAX, navegação)theme/functions/helpers/
theme/functions/hooks/10+ arquivos de hooks WP/BP (ACLs, perfil, fórum, eventos)theme/functions/hooks/
theme/functions/kpis/Sistema de KPIs: permissões, formulários, relatórios, DB connectiontheme/functions/kpis/forms.php:1
theme/functions/ead/Integração Canvas LMS: criação de usuário, matrículatheme/functions/ead/ead.php:1
theme/functions/registration/Módulo de cadastro customizado com validação/sanitizaçãotheme/functions/registration/index.php:1
theme/functions/indication/Sistema de indicação/convite de usuários a grupostheme/functions/indication/index.php
theme/functions/importer/Importadores CSV (NEDOCS, KPI diário, mensal, ciclo)theme/functions/importer/
theme/functions/fixes/Correções de compatibilidade (BBPress, BP SEO, ACF, admin)theme/functions/fixes/
theme/functions/loop/Gerenciamento de queries e loops WPtheme/functions/loop/
theme/functions/shortcodes/Shortcodes customizados (br, search, year, breadcrumbs, gallery)theme/functions/shortcodes/
theme/functions/enqueue/Enqueue de CSS e JStheme/functions/enqueue/
theme/functions/plugins/Configurações específicas de plugins (ACF, BP, Gravity, Yoast)theme/functions/plugins/
theme/functions/options/Páginas de opções do tema (geral, analytics)theme/functions/options/
theme/modules/52+ módulos de template reutilizáveis (header, footer, cards, filtros)theme/modules/
theme/templates/23+ page templates WordPress (home, login, hospitais, EAD, KPIs)theme/templates/
theme/assets/Assets frontend (CSS/JS). Build system (Gulp) obsoleto — arquivos dist/ editados diretamente. Não executar build.theme/assets/dist/
theme/bbpress/Templates customizados do BBPress (fóruns)theme/bbpress/
theme/buddypress/Templates customizados do BuddyPress (grupos, perfis)theme/buddypress/
mu-plugins/Must-use plugins (Email Logger)mu-plugins/email-logger.php:1
mu-plugins/email-logger/Plugin de rastreio de e-mails com contexto de negóciomu-plugins/email-logger.php:5
mysql-init/Scripts de inicialização do MySQL (criação do banco KPI)mysql-init/init.sql:1
wp-content/Conteúdo WordPress (plugins, uploads, traduções, backups)wp-content/

Integrações externas identificadas

IntegraçãoTipoEvidência
Canvas LMSREST API (Bearer token) — criação de usuários e matrícula em cursos EADtheme/functions/ead/ead.php:5-8 (ACF options: canvas-api-url, canvas-token)
Google Maps APISDK JavaScript — mapas de hospitaisACF option google_maps_api_key
Amazon S3/CloudFrontPlugin WP — storage e CDN de mídiawp-content/plugins/amazon-s3-and-cloudfront/
Easy WP SMTPPlugin WP — envio de e-mails transacionaiswp-content/plugins/easy-wp-smtp/
reCAPTCHAPlugin WP — proteção de formulárioswp-content/plugins/login-recaptcha/
Google AnalyticsPlugin WP — métricas de usowp-content/plugins/google-analytics-dashboard/
Gravity FormsPlugin WP — formulários dinâmicostheme/functions/plugins/gravity.php
The Events CalendarPlugin WP — gestão de eventostheme/tribe-events/
Yoast SEOPlugin WP — otimização de SEOtheme/functions/plugins/yoast.php
MySQL KPI DBBanco separado — indicadores de performancewp-config.php:82-85, mysql-init/init.sql:1

Jobs / cron / queues / workers

  • Não foram identificados cron jobs explícitos no código do tema ou configuração Docker.
  • WordPress WP-Cron padrão está ativo (não desabilitado no wp-config.php).
  • Possível uso de wp-cron para agendamento de eventos (The Events Calendar) e notificações (BuddyPress).
  • Evidência: wp-config.php — sem DISABLE_WP_CRON.

Storage / caches

  • MySQL WordPress — Banco principal para posts, users, meta, BP groups.
    • Evidência: docker-compose.yml:22-30
  • MySQL KPI — Banco separado para indicadores.
    • Evidência: wp-config.php:82-85
  • W3 Total Cache — Plugin de cache instalado.
    • Evidência: wp-content/w3tc-config/
  • Amazon S3 — Storage externo para mídia (quando configurado).
    • Evidência: wp-content/plugins/amazon-s3-and-cloudfront/
  • EWWW Image Optimizer — Otimização de imagens.
    • Evidência: wp-content/ewww/

Lista de variáveis de ambiente

VariávelArquivoLinha
WORDPRESS_DB_HOSTdocker-compose.yml14
WORDPRESS_DB_USERdocker-compose.yml15
WORDPRESS_DB_PASSWORDdocker-compose.yml16
WORDPRESS_DB_NAMEdocker-compose.yml17
MYSQL_DATABASEdocker-compose.yml25
MYSQL_USERdocker-compose.yml26
MYSQL_PASSWORDdocker-compose.yml27
MYSQL_ROOT_PASSWORDdocker-compose.yml28
DB_KPI_HOSTwp-config.php82
DB_KPI_USERwp-config.php83
DB_KPI_PASSwp-config.php84
DB_KPI_DB_NAMEwp-config.php85
DB_KPI_ENVIRONMENTtheme/functions/kpis/forms.php173
WORDPRESS_DEBUGwp-config.php89
AUTH_KEYwp-config.php~50
SECURE_AUTH_KEYwp-config.php~51
LOGGED_IN_KEYwp-config.php~52
NONCE_KEYwp-config.php~53

Comandos para rodar, testar e buildar

AçãoComando
Subir ambientedocker-compose up -d
Parar ambientedocker-compose down
Logs WordPressdocker logs -f wp_app
Logs MySQLdocker logs -f wp_db
Shell WordPressdocker exec -it wp_app bash
Shell MySQLdocker exec -it wp_db mysql -u root -proot
Build frontendNÃO EXECUTAR — build system obsoleto, assets editados diretamente em dist/. Executar gulp quebrará o projeto.
Fix permissõesdocker exec -it wp_app chown www-data:www-data /var/www/html/.htaccess
  • Testes automatizados: Não identificados no repositório.
  • Evidência: ausência de phpunit.xml, tests/, ou scripts de teste em composer.json e package.json.

Pendências

  • Testes automatizados não implementados (sem PHPUnit, sem testes de integração).
  • Backup .wpress não versionado — distribuição manual.
  • Rotação de credenciais do Canvas LMS não documentada.
  • Schema completo do banco KPI não disponível (apenas CREATE DATABASE no init.sql — tabelas precisam de dump).
  • ACF field groups exportados em JSON/PHP não encontrados no repositório (gerenciados via UI).
  • Documentação de ACF Options (canvas-api-url, google_maps_api_key, etc.) ausente.