F14 — Exibir canais de contato / captação de leads
IT1 · Rastreabilidade: F14 · CP4 · OE2
Issue da Feature (GitHub): #61 — abrir no GitHub
Requisitos (evidências)
Selecione um requisito na navegação abaixo. Cada um traz seus critérios de aceite, regras de negócio e um espaço para o screenshot da funcionalidade em funcionamento (substitua a imagem de placeholder pela captura real).
- RF27
- RF49
- RNF02
- RNF10
- RNF11
- DoR
- DoD
RF27 — Cadastrar contato com a empresa
Critérios de aceite (BDD)
- Dado visitante preenche o formulário, quando POST válido, então o lead é persistido em transação ACID + alerta de sucesso em ≤ 2s.
- Dado campos obrigatórios vazios ou e-mail inválido, quando submeter, então a validação client-side impede o envio e sinaliza os campos.
- Dado IP que excede 5 requisições em 10 min, quando POST ao formulário, então retorna 429 com "Tente novamente mais tarde".
- Dado o envio do formulário, quando o lead é coletado, então o consentimento LGPD é exigido/registrado antes da persistência.
Regras de negócio: RN18 — Consentimento LGPD registrado antes de persistir os dados do lead
Evidência (screenshot):

Deploy: link a definir
RF49 — Detalhar conformidade com a LGPD
Critérios de aceite (BDD)
- Dado visitante na vitrine, quando acessar
/privacidadeou/cookies, então as páginas de conformidade com a LGPD são exibidas. - Dado qualquer página da vitrine, quando renderizada, então os links de privacidade e cookies estão sempre acessíveis no rodapé.
Regras de negócio: RN08 — Consentimento de cookies obrigatório no 1º acesso · RN09 — Políticas de conformidade sempre acessíveis no rodapé
Evidência (screenshot):

Deploy: link a definir
RNF02 — Tempo de resposta da vitrine
Classificação: Eficiência
Descrição: 95% das requisições de carregamento de páginas públicas (produtos, institucional, FAQ) respondem em até 2 segundos, medidos em condição de rede 4G simulada (Lighthouse/WebPageTest), do primeiro byte à renderização completa do conteúdo principal.
Evidência (screenshot):

Verificação: Resultados V&V da IT1
RNF10 — Proteção contra abuso do formulário público
Classificação: Segurança
Descrição: O formulário público de contato/captação de lead aplica rate limit de no máximo 5 submissões por IP a cada 10 minutos; submissões acima do limite retornam HTTP 429 sem persistir dados.
Evidência (screenshot):

Verificação: Resultados V&V da IT1
RNF11 — Conformidade parcial com LGPD
Classificação: Externo
Descrição: A captação de dados de leads/clientes exige consentimento explícito registrado antes da persistência, informa a finalidade do tratamento, coleta apenas dados estritamente necessários (minimização) e permite exclusão mediante solicitação em até 5 dias úteis.
Evidência (screenshot):
Verificação: Resultados V&V da IT1
Definition of Ready — Evidências
Checklist do DoR aplicado à F14 antes de entrar em execução. Todos os itens foram atendidos conforme o critério definido em DoR e DoD.
| Critério DoR | Status | Evidência |
|---|---|---|
Título no padrão FDD <ação> <resultado> <de/para/no/com> <objeto> | ✅ | Issue #61 — título conforme o padrão |
| Critérios de aceite escritos e verificáveis (Given/When/Then) | ✅ | Ver abas RF/RNF desta página — todos os cenários BDD documentados |
| Estimativa registrada: VB, CX e IP calculados | ✅ | Priorização do Backlog — coluna IP da tabela de features |
| Dependências identificadas; bloqueantes resolvidos | ✅ | Mapa de Dependências — IT1 — bloqueantes verificados antes do início |
| Class Owner designado e linkada à Feature parent e à CP de origem | ✅ | Issue #61 — assignees e labels de CP/Feature registrados |
| Protótipo revisado pelo cliente | ✅ | Protótipo de Alta Fidelidade — IT1 |
| Technical Design Review (TDR) concluída | ✅ | Design Técnico IT1 — diagramas leves e feature cards elaborados |
| Ao menos um critério de segurança ou usabilidade identificado | ✅ | Ver aba RNF desta página |
Definition of Done — Evidências
Checklist do DoD verificado ao encerrar a F14. Todos os itens foram atendidos antes de mover a issue para Done no Kanban.
| Critério DoD | Status | Evidência |
|---|---|---|
| Critérios de aceite validados (BDD cobertos) | ✅ | Issue #61 — evidências anexadas na descrição da issue |
| Testes automatizados passando (unitários + integração) | ✅ | Issue #61 — evidências anexadas na descrição da issue |
| Lint sem erros e formatação OK (ESLint + Prettier) | ✅ | Issue #61 — evidências anexadas na descrição da issue |
| CI verde (build + testes + lint) | ✅ | Issue #61 — evidências anexadas na descrição da issue |
| PR aprovado por Chief Programmer ou Project Manager | ✅ | Issue #61 — PR de resolução com approve registrado |
| Migration de banco aplicada | ✅ | Issue #61 — evidências anexadas na descrição da issue |
| Sem vulnerabilidades críticas (SAST/linting de segurança) | ✅ | Issue #61 — evidências anexadas na descrição da issue |
| Validação parcial do cliente registrada | ✅ | Validação Parcial IT1 |
| Validação Formal aprovada pelo cliente | ✅ | Validação Formal IT1 |
| Rastreabilidade atualizada | ✅ | V&V IT1 — ES.07 — RF49 adicionado à feature |
| Issue movida para Done no GitHub Projects | ✅ | Issue #61 — fechada via merge do PR (closes #N) |