Projeto - sistema do SENAM v1 - 2025

Sistema SENAM — arquitetura explicada

A imagem abaixo é um “mapa” do sistema SENAM. Aqui você encontra uma explicação bem simples do que cada parte faz, para qualquer pessoa entender — mesmo sem ser da área de tecnologia.

Abrir PDF do diagrama
Diagrama do sistema SENAM
Use “Abrir PDF” para ampliar
Dica: para ampliar o diagrama clique em “Abrir PDF do diagrama” (ele abre em outra aba).

Resumo

Pense no SENAM como um sistema com três momentos:

Antes do evento: a pessoa se cadastra, escolhe a inscrição e acompanha o status.
No dia do evento: o credenciamento é rápido (totem) e o supervisor monitora tudo ao vivo.
Depois do evento: quem participou pode baixar o certificado pelo próprio sistema.
Detalhes técnicos (modo “Ver detalhes”)

AJAX (onde entra e por quê)
Usamos AJAX para validar e buscar dados sem recarregar a página. Isso deixa o sistema rápido e reduz erro do usuário. Exemplos: validação imediata de CPF, busca de participante por CPF no grupo, preenchimento automático de endereço por CEP, e telas do evento com atualização frequente (painel do supervisor).

APIs de CEP (por que são 3 e quando troca)
O sistema tenta preencher endereço usando uma API principal. Se ela falhar (timeout, erro HTTP, resposta vazia/CEP não encontrado), ele tenta automaticamente a segunda; se a segunda também falhar, tenta a terceira. Essa redundância evita que o usuário “trave” o cadastro por indisponibilidade de um provedor.

Validação de CPF (como funciona)
Antes de salvar, o CPF passa por checagens: formato, remoção de máscara, bloqueio de sequências inválidas (ex.: 000.000.000-00) e cálculo dos dígitos verificadores. Isso reduz cadastros incorretos e evita problemas no credenciamento e na emissão de certificados.

Pagamento (onde entra a integração e como confirma)
A compra acontece no checkout do WooCommerce. A integração de pagamento registra a transação e retorna o resultado (aprovado/pendente/cancelado). O sistema usa os status do pedido como “fonte” para liberar a inscrição automaticamente quando o pagamento é confirmado. Em fluxos manuais (ex.: empenho ou cobrança PJ), a confirmação pode depender do admin.

Notificações por e-mail (o que dispara e por quê)
O sistema envia e-mails em momentos-chave: confirmação de cadastro, confirmação/alteração de status de inscrição, avisos operacionais para o admin (ex.: solicitação por empenho/PJ), e liberação de certificado. Isso reduz suporte porque o usuário recebe instruções e confirmações sem precisar “adivinhar”.

Por que usamos Brevo (entrega e confiabilidade)
Usamos a Brevo como serviço de envio (SMTP/transacional) para melhorar entregabilidade: menos chance de cair em spam, melhor reputação de envio, logs/controle e consistência no disparo. Na prática, o participante recebe os e-mails com muito mais confiabilidade.

Tradução do diagrama (parte por parte)

Abra um item abaixo para entender cada bloco do desenho.

O participante vê telas simples: cadastrar, escolher inscrição, acompanhar o status e baixar o certificado.
  • O usuário faz cadastro e login.
  • Escolhe o tipo de inscrição (individual, grupo ou empenho).
  • Vê mensagens claras: “pendente”, “confirmado”, “meu certificado”.
  • Quando liberado, baixa/imprime o certificado.
É a parte que garante que tudo siga regras: evitar duplicidade, liberar certificado na hora certa, etc.
  • Evita erros comuns (ex.: CPF inválido, inscrição duplicada).
  • Controla regras de grupos (tamanho, quem entra, quem já tem inscrição).
  • Decide o que aparece para cada pessoa (ex.: botão do certificado só quando permitido).
O sistema registra quando a inscrição foi paga/confirmada e mostra isso em todas as telas.
  • Quando o pagamento é concluído, o sistema marca a inscrição como confirmada.
  • Em alguns casos (ex.: empenho ou cobrança manual), o admin confirma depois.
  • O usuário sempre vê um status claro do que está acontecendo.
No evento, a pessoa informa o CPF no totem, imprime a etiqueta e o supervisor acompanha tudo ao vivo.
  • Totens agilizam o credenciamento com autoatendimento.
  • Se tiver problema, aparece um pedido de ajuda para a equipe.
  • O supervisor vê quem chegou, quem falta e o que precisa de atenção.
Depois do evento, quem tem direito vê o certificado e pode baixar/imprimir.
  • O admin libera certificados para quem participou.
  • O participante recebe aviso e acessa pelo menu “Meu certificado”.
  • O documento sai em formato padronizado (download e impressão).
Cada pessoa vê apenas o que pode ver, e ações importantes ficam registradas.
  • Usuários comuns não veem telas administrativas.
  • Dados sensíveis ficam protegidos por permissões.
  • O fluxo do evento é controlado para não “bagunçar” o cadastro principal.

UI - Usuário Final

UI - cadastro

Cadastro inicial (entrada no sistema)

Formulário de criação de conta baseado em um plugin padrão do WordPress (nome não exposto), com camada extra de validação e UX via código personalizado (máscaras, verificação de CPF e preenchimento de endereço por CEP).

Tela de cadastro inicial do SENAM
Clique para ampliar
Cadastro inicial com validações e preenchimento assistido (ex.: CEP/CPF).
Stack: WordPress • Plugin de cadastro • PHP • JS • AJAX • HTML/CSS
Boas práticas: validação dupla (front + servidor) • fallback de APIs • dados consistentes
UI - inscrições (com controle admin)

Tela de inscrições (painel do usuário)

Página construída com código personalizado dentro do Elementor para concentrar os caminhos de inscrição (individual, empenho e grupo) e exibir o status da inscrição. Quando acessada por administrador, a tela também mostra um botão de controle operacional para desativar inscrições.

Tela de inscrições do SENAM com opções e controle administrativo
Clique para ampliar
Central de inscrições: o usuário escolhe o tipo de inscrição e acompanha o status; admin pode pausar inscrições com 1 clique.
Stack: WordPress • WooCommerce • Elementor (HTML) • PHP • JS • AJAX • HTML/CSS
Operação: status visível ao usuário • controle de pausa por admin • fluxo centralizado
UI - checkout (inscrição individual)

Inscrição individual (checkout padrão)

Fluxo de compra/inscrição individual usando o checkout padrão do WooCommerce, com integração de pagamento para finalizar o pedido e atualizar o status da inscrição automaticamente.

Checkout padrão do WooCommerce para inscrição individual, com integração de pagamento
Clique para ampliar
Checkout padrão do WooCommerce: resumo da inscrição, seleção de pagamento e finalização do pedido.
Stack: WordPress • WooCommerce (checkout) • PHP • HTML/CSS
Integração: API de pagamento (sem amarrar fornecedor) • status por pedido
UI - inscrição por empenho

Inscrição por empenho (órgãos públicos)

Tela para iniciar inscrição via empenho, com instruções, documentos e botão de solicitação. Este fluxo não confirma automaticamente: ele gera uma solicitação que passa por aprovação manual do administrador.

Tela de inscrição por empenho com instruções e botão de iniciar solicitação
Clique para ampliar
Inscrição por empenho: solicitação guiada + documentos disponíveis para download.
Stack: WordPress • WooCommerce • Elementor (HTML) • PHP • JS • HTML/CSS
Fluxo: solicitação → notificação → revisão/admin → aprovação manual
UI - inscrição em grupo

Inscrição em grupo (pagamento por cota)

Fluxo de inscrição em grupo com desconto por pacote e opção de pagamento individual: cada participante paga a sua própria cota, mantendo o grupo organizado e reduzindo atrito na compra.

Tela de inscrição em grupo com desconto e pagamento individual por cota
Clique para ampliar
Inscrição em grupo: seleção do pacote + inclusão de participantes por CPF + pagamento por cota.
Stack: WordPress • WooCommerce • Elementor (HTML) • PHP • JS • AJAX • HTML/CSS
Regras: validação por CPF • pacote fixo • pagamento por cota • prevenção de duplicidades
UI - inscrição em grupo (pagamento único PJ)

Inscrição em grupo (pagamento único do grupo — PJ)

Fluxo de inscrição em grupo com desconto por pacote e opção de pagamento único para Pessoa Jurídica. Neste modo, o processo é manual: não há integração direta com API de pagamento, e a confirmação depende do administrador.

Inscrição em grupo com pagamento único PJ, sem API de pagamento e com confirmação do admin
Clique para ampliar
Pagamento único do grupo (PJ): dados da empresa + seleção do pacote + inclusão de participantes.
Stack: WordPress • WooCommerce • Elementor (HTML) • PHP • JS • AJAX • HTML/CSS
Fluxo: solicitação PJ → revisão/admin → emissão manual → envio de boleto/PIX → confirmação
UI - status da inscrição

Inscrição confirmada (status do usuário)

Tela de confirmação que mostra ao participante que a inscrição está validada (ex.: participante ou convidado/palestrante), exibindo os dados essenciais e instruções para o credenciamento. O usuário também recebe notificação por e-mail.

Tela de inscrição confirmada com dados do participante e tipo (participante/palestrante)
Clique para ampliar
Confirmação visível do status: o usuário sabe exatamente se está confirmado e quais dados serão usados no evento.
Stack: WordPress • WooCommerce • Elementor/Shortcodes • PHP • HTML/CSS
Comunicação: status na tela + e-mail de confirmação (mesma regra/mesma fonte)
UI - área do participante

Área do participante (usuário logado)

Depois do login, o sistema mostra um resumo do status da inscrição e atalhos importantes. Nesta tela, o participante consegue acompanhar sua situação e acessar rapidamente o certificado quando estiver disponível.

Tela de usuário logado (Minha Conta) com alertas e atalho do certificado
Clique para ampliar
Resumo do participante: status da inscrição + atalhos operacionais (ex.: certificado).
Stack: WordPress • WooCommerce (Minha Conta) • PHP • JS • HTML/CSS
UX: alertas objetivos • atalhos de ação • redução de suporte
UI - meu certificado

Certificado do participante (download e impressão)

Após o evento, o usuário consegue acessar o certificado pelo sistema e baixar em formatos práticos (ex.: PNG/PDF) ou imprimir com layout otimizado. Quando liberado, o participante também recebe notificação por e-mail.

Tela onde o usuário baixa ou imprime o certificado após o evento
Clique para ampliar
Certificado disponível no sistema: baixar em PNG/PDF e imprimir com instruções para evitar erros.
Stack: WordPress • WooCommerce/Shortcodes • PHP • HTML/CSS
Entrega: certificado no painel + download/impressão padronizados + notificação por e-mail

Administração do Evento

admin evento - gerenciador de certificados

Gerenciador de Certificados

Tela administrativa para habilitar, emitir e notificar certificados com base na participação real no evento (somente quem passou pelo credenciamento pode ser marcado como apto).

Gerenciador de Certificados SENAM (admin)
Clique para ampliar
Observação: em materiais de portfólio, dados pessoais podem estar mascarados (LGPD).
Stack: WordPress + WooCommerce • Shortcodes • PHP • JS • AJAX • HTML/CSS
Segurança: nonce + checagem de perfil/capabilities + validação server-side
admin evento - presets do crachá

Presets da etiqueta do crachá (90×40 mm)

Tela do administrador do evento para configurar e salvar presets de impressão da etiqueta do crachá (nome, cidade/UF e código de barras), com preview ao vivo para garantir legibilidade no dia do evento.

Tela de presets da etiqueta do crachá com preview ao vivo e ajustes de barcode
Clique para ampliar
Presets salvos para padronizar a impressão do crachá e evitar retrabalho durante o credenciamento.
Stack: WordPress • Snippets/Shortcodes • PHP • JS • HTML/CSS
Evento: padronização 90×40 • preview ao vivo • barcode configurável • pronto para impressão
admin evento - painel do supervisor

Supervisor do evento (monitoramento em tempo real)

Painel operacional do dia do evento para acompanhar o credenciamento em tempo real: quem chegou, quem falta chegar, pedidos de ajuda nos totens e entradas confirmadas — tudo em uma visão central.

Painel do supervisor do evento para monitorar credenciamento em tempo real
Clique para ampliar
Central do supervisor: visão ao vivo do fluxo do evento, com pendências e filas do credenciamento.
Stack: WordPress • Snippets/Shortcodes • PHP • JS • HTML/CSS
Evento: tempo real • totens • fila de ajuda • auditoria por totem/horário

Administração de Inscrições

ADMIN - painel geral (atalhos)

Painel administrativo (atalhos organizáveis)

Tela de entrada do administrador com um painel de atalhos para todas as áreas do sistema. Os cards podem ser reorganizados por drag-and-drop, deixando o fluxo de trabalho mais rápido e reduzindo cliques.

Painel geral administrativo com drag-and-drop para organizar atalhos
Clique para ampliar
Dashboard administrativo com atalhos por categoria e organização livre (drag-and-drop).
Stack: WordPress • Elementor/Shortcodes • PHP • JS • HTML/CSS
Admin UX: atalhos organizáveis • categorias • ações rápidas • menos cliques
ADMIN - lista geral de usuários

Usuários — central administrativa

Tela central do administrador para visualizar todos os inscritos e também cadastros ainda não confirmados, com filtros avançados, ações em lote e visão rápida do status completo (cadastro, inscrição, pagamento e tipo de público).

Tela administrativa com lista geral de usuários, filtros, status e ações
Clique para ampliar
Central do sistema: filtros, status consolidados e acesso direto à ficha de cada participante.
Stack: WordPress • WooCommerce • Elementor/Shortcodes • PHP • JS • HTML/CSS
Admin UX: filtros rápidos • ações em lote • status consolidados • exportação
ADMIN - grupos (pagamento único PJ)

Grupos — pagamento único (PJ)

Tela administrativa para gerenciar grupos com pagamento único por Pessoa Jurídica. Centraliza a revisão de dados do grupo (PJ + participantes), status e ações de confirmação/inscrição do grupo.

Tela administrativa de grupos com pagamento único PJ e revisão de dados
Clique para ampliar
Gestão de grupos PJ: validação e revisão antes de confirmar/inscrever o grupo no sistema.
Stack: WordPress • WooCommerce • Elementor/Shortcodes • PHP • JS • HTML/CSS
Operação: revisão de dados PJ • status por grupo • ação de confirmação/inscrição