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
| Campo | Tipo | Validacao |
|---|---|---|
| Nome completo | text | Min 3 caracteres |
| Formato valido, unico no sistema | ||
| Senha | password | Min 8 chars, 1 maiuscula, 1 numero |
| CPF | text (mascara) | Formato 000.000.000-00, unico |
| Telefone | text (mascara) | Min 10 digitos, formato (XX) XXXXX-XXXX |
| Data de nascimento | date | Formato YYYY-MM-DD |
Etapa 2 — Endereco
Busca automatica por CEP via API ViaCEP. Preenche rua, bairro, cidade, estado.
| Campo | Auto-preenchido? | Obrigatorio? |
|---|---|---|
| CEP | Nao | Sim |
| Rua | Sim (via CEP) | Sim |
| Numero | Nao | Sim |
| Complemento | Nao | Nao |
| Bairro | Sim (via CEP) | Sim |
| Cidade | Sim (via CEP) | Sim |
| Estado | Sim (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:noreply@soluciona.space) - 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
- Usuario clica "Esqueci minha senha" na tela de login
- Informa o email
- Supabase envia email com link de recuperacao (token expira em 1 hora)
- Usuario define nova senha