Documento de Análise do Sistema ENOCHI

Mapa completo: telas, funções, entidades e melhorias — versão 07/09/2026

24

Telas mapeadas

12

Completas

12

Parciais

9

Funções backend

Objetivo do Sistema

O ENOCHI é uma plataforma de gestão interna desenvolvida exclusivamente para a Biblioteca Templária e seus associados. Ele centraliza em um único sistema digital toda a administração da Ordem, substituindo planilhas, e-mails avulsos e documentos físicos.

Gestão completa de associados da Ordem Aberta (Postulante → Cavaleiro/Dama)
Controle financeiro de mensalidades, taxas e doações
Fluxo documental para candidatura, elevação e exaltação
Biblioteca digital de trabalhos filosóficos com acesso hierárquico
Academia Templária com conteúdo educacional por grau
Eventos e cerimônias com elegibilidade por grau mínimo
Comunicação interna por e-mail e WhatsApp (Twilio)
Evolução de graus filosóficos com votação e cerimônias
Fluxo de Autenticação (Login Interno)
⚠️ NUNCA usa o login do Base44 — é 100% interno pela tela /acesso

Verificação de sessão (a cada carregamento de página)

Sem sessão no localStorage → Redireciona para /acesso
Sessão expirada (+8 horas) → Limpa localStorage e redireciona para /acesso
requires_password_change = true → Redireciona para /ForcePasswordReset
Sessão válida → Renderiza a página com menu do perfil do usuário

Login via tela /acesso

1Frontend chama função backend: internalLogin({ username, password })
2Backend busca Member por username com filter()
3Valida is_active_internal_login e compara senha
4Se username === 'admin': garante perfil ADMIN (cria se não existir)
5Busca MemberProfile ativo e atualiza last_login
6Retorna { user: Member, profile: MemberProfile }
7Frontend salva sessão no localStorage com expiração de 8h
8Redireciona para /Dashboard

Recuperação de Senha

  1. 1. Usuário informa e-mail ou username
  2. 2. Sistema dispara em paralelo: e-mail (forgotPassword) + WhatsApp (forgotPasswordWhatsApp)
  3. 3. Nova senha aleatória gerada e salva no Member
  4. 4. Confirmação exibida indicando qual canal funcionou

Troca de Senha Forçada

  1. 1. Layout detecta requires_password_change = true
  2. 2. Redireciona para /ForcePasswordReset antes de qualquer tela
  3. 3. Usuário informa senha atual + nova senha
  4. 4. Backend valida e zera o flag
  5. 5. Redireciona para /Dashboard
Perfis de Acesso e Menus
ADMIN16 telas

Acesso total. Username 'admin' especial — perfil garantido automaticamente.

COMENDADOR14 telas

Gestão completa da unidade: associados, financeiro, perfis, convites.

GRAO MESTRE11 telas

Gestão ampla (menu sênior): associados, financeiro, unidades, relatórios.

GRAN PRIOR11 telas

Gestão ampla (menu sênior): associados, financeiro, unidades, relatórios.

PRIOR REGIONAL11 telas

Gestão regional (menu sênior).

COMENDADOR14 telas

Gestão completa da unidade: associados, financeiro, perfis, convites.

SECRETARIO7 telas

Associados, graus, documentos e eventos da unidade.

TESOUREIRO5 telas

Foco no financeiro + visualização de associados.

CAPELAO6 telas

Acompanhamento espiritual: associados, eventos, academia, documentos.

OFFICIALIS5 telas

Oficial da unidade: associados, eventos, academia e biblioteca.

BIBLIOTECA ADMIN2 telas

Apenas Biblioteca Templária + Meu Perfil.

ASSOCIADO COMUM7 telas

Portal próprio: perfil, docs, financeiro, eventos, academia, biblioteca.

Fluxos Principais de Negócio

Admissão de novo associado

Candidato preenche /AccessRequest (página pública)Secretário cria o Member no sistema com status POSTULANTESecretário envia convite via /UserInvitations → e-mail com credenciais geradasCandidato faz login → ForcePasswordReset obriga troca de senhaMembro acessa o Portal com status POSTULANTEAdmin evolui grau conforme cerimônias: CANDIDATO → POSTULANTE → ESCUDEIRO → CAVALEIRO/DAMA

Evolução de grau filosófico

Secretário cria solicitação em /DegreeProgress com status EM_PROCESSOAdmin preenche data de cerimônia e resultado de votaçãoStatus muda para APROVADO, REPROVADO ou ADIADOSe aprovado: current_degree do Member é atualizadoMarco registrado em DegreeHistory com data e cidade

Submissão na Biblioteca Templária

Membro envia trabalho: título, descrição, categoria, arquivo/YouTubeTrabalho entra com status PENDENTEBIBLIOTECA_ADMIN ou ADMIN revisa na aba 'Pendentes'Aprovado → aparece na listagem para membros com status suficienteMembros podem baixar, avaliar (1–5 estrelas) e comentar

Controle financeiro

Tesoureiro lança DEBITO de MENSALIDADE com data de vencimentoStatus inicial: PENDENTEMembro paga externamente ao sistema (por enquanto)Tesoureiro registra: status → PAGO, data, forma de pagamentoMembro visualiza situação em /MyFinancial(Futuro) Status → VENCIDO automaticamente se não pago
Segurança — Pontos de Atenção
Senhas armazenadas em TEXTO PURO (sem hash). Ponto crítico de segurança.
Sem bloqueio após tentativas de login falhas (vulnerável a força bruta).
Sessão via localStorage — vulnerável a XSS em contextos inseguros.
Sem log de auditoria automático — ações críticas não são registradas.
Sem autenticação 2FA implementada.
Sessão expira automaticamente após 8 horas.
Redirecionamento forçado para troca de senha quando necessário.
Controle de acesso por role no menu lateral (Layout).
Acesso hierárquico na Biblioteca por status do membro.
Separação entre USUARIO_SISTEMA e ASSOCIADO simples.

Documento gerado automaticamente pelo sistema ENOCHI — 07/09/2026. Atualizado conforme o desenvolvimento.