Fluxo de Cadastro e Aprovacao

Diagrama de Estados


  [Visitante]
       │
       ▼
  Preenche formulario (3 etapas)
  ├── Etapa 1: Dados pessoais (nome, email, senha, CPF, telefone, nascimento)
  ├── Etapa 2: Endereco (CEP com busca automatica via ViaCEP)
  └── Etapa 3: Consentimento LGPD
       │
       ▼
  Supabase Auth cria usuario ──► tabela "usuarios" com status PENDENTE
       │
       ▼
  ┌─────────────────────────┐
  │   STATUS: PENDENTE      │  ← usuario NAO consegue logar
  └─────────────────────────┘
       │
       ├──► Coordenador/Admin APROVA
       │         │
       │         ▼
       │    ┌─────────────────────┐
       │    │   STATUS: ATIVO     │  ← usuario consegue logar
       │    └─────────────────────┘
       │         │
       │         ├── Credita 100 CC ao referral (se existir)
       │         ├── Gera entrada no feed: "Bem-vindo ao nucleo!"
       │         └── Notificacao: "Seu cadastro foi aprovado!"
       │
       └──► Coordenador/Admin REJEITA
                  │
                  ▼
             ┌─────────────────────┐
             │  STATUS: REJEITADO  │  ← soft delete, nao deleta dados
             └─────────────────────┘

Detalhes das Etapas do Formulario

Etapa 1 — Dados Pessoais

CampoTipoValidacao
Nome completotextMin 3 caracteres
EmailemailFormato valido, unico no sistema
SenhapasswordMin 8 chars, 1 maiuscula, 1 numero
CPFtext (mascara)Formato 000.000.000-00, unico
Telefonetext (mascara)Min 10 digitos, formato (XX) XXXXX-XXXX
Data de nascimentodateFormato YYYY-MM-DD

Etapa 2 — Endereco

Busca automatica por CEP via API ViaCEP. Preenche rua, bairro, cidade, estado.

CampoAuto-preenchido?Obrigatorio?
CEPNaoSim
RuaSim (via CEP)Sim
NumeroNaoSim
ComplementoNaoNao
BairroSim (via CEP)Sim
CidadeSim (via CEP)Sim
EstadoSim (via CEP)Sim

Etapa 3 — Consentimento LGPD

Checkbox obrigatorio com texto legal sobre tratamento de dados sensiveis (afiliacao politica, conforme Lei 13.709/2018).

Codigo Referral

Se a URL contem ?ref=MBL-ES-XXXX, o codigo e salvo no campo referral_id do usuario. Ao aprovar o cadastro, 100 CC sao creditadas ao dono do codigo.

Emails de Aprovacao/Rejeicao (Resend)

Ao aprovar ou rejeitar um cadastro, o sistema envia automaticamente um email via Resend:

  • Aprovacao: Email de boas-vindas com template HTML personalizado. Inclui nome do nucleo, logo, instrucoes de primeiro acesso e link para login.
  • Rejeicao: Email de rejeicao com template HTML informando que o cadastro nao foi aprovado. Inclui orientacoes sobre como entrar em contato para mais informacoes.

Configuracao de Email

  • Remetente configuravel via MAIL_FROM (default: [email protected])
  • Chave da API: RESEND_API_KEY
  • Templates HTML renderizados no backend com dados dinamicos (nome do usuario, nome do nucleo)

Cargo PORTA_VOZ

O cargo PORTA_VOZ e atribuido por um Administrador apos o cadastro. Porta-vozes tem permissoes intermediarias entre Membro e Coordenador:

  • Podem criar comunicados, enquetes e enviar emails
  • Podem criar tarefas (incluindo tarefas avulsas)
  • Tem acesso ao Assistente IA
  • Nao podem aprovar cadastros, criar projetos ou gerenciar loja

Recuperacao de Senha

  1. Usuario clica "Esqueci minha senha" na tela de login
  2. Informa o email
  3. Supabase envia email com link de recuperacao (token expira em 1 hora)
  4. Usuario define nova senha