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.
Resumo
Pense no SENAM como um sistema com três momentos:
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 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.
- 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).
- 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.
- 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.
- 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).
- 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).
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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).
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.
