Pular para o conteúdo principal

Tabela de Requisitos

Catálogo completo de Features, Requisitos Funcionais (RF), Não Funcionais (RNF) e Regras de Negócio (RN). Objetivos (OE) e Características (CP) ficam na Solução; o mapa que conecta tudo é a Rastreabilidade.

Features

Os nós de feature na matriz interativa apontam para as linhas abaixo.

IDStatusNomeCPRFsRNFsINVEST
F01Monitorar eventos de segurançaCP2RF01, RF02RNF01, RNF02, RNF03, RNF09I-N-V-E-S-T
F02Monitorar estado dos componentesCP2RF03, RF54RNF01, RNF03, RNF09N-V-E-S-T
F03Visualizar indicadores operacionaisCP3RF04, RF05, RF06RNF01, RNF03, RNF09, RNF11I-N-V-E-S-T
F04Visualizar indicadores financeirosCP3RF07, RF55RNF01, RNF03, RNF09, RNF11I-N-V-E-S-T
F05Consultar registros financeirosCP7RF16, RF17, RF18RNF01, RNF03, RNF09, RNF11N-V-E-S-T
F06Gerar relatórios financeirosCP7RF19, RF20RNF01, RNF03, RNF09, RNF11I-N-V-E-S-T
F07IT2Acompanhar histórico e status de notificaçõesCP9RF46, RF47RNF03, RNF09N-V-E-S-T
F08IT2Gerenciar templates de notificaçõesCP9RF15, RF56, RF57, RF63RNF03, RNF09N-V-E-S-T
F09IT1Autenticar para acesso seguro ao sistemaCP5RF08, RF09RNF01, RNF03, RNF08I-N-V-E-S-T
F10IT1Acesso ao painel administrativoCP5RF10, RF48RNF09N-V-E-S-T
F11IT1Gerenciar usuários da plataformaCP5RF11, RF12, RF13, RF14RNF09N-V-E-S-T
F12IT1Gerenciar produtos SaaS da vitrineCP4RF21, RF22, RF23, RF24RNF03, RNF04, RNF05, RNF13, RNF15, RNF19N-V-E-T
F13IT1Controlar publicação de produto SaaSCP4RF25, RF26RNF03N-V-E-S-T
F14IT1Exibir canais de contato na vitrineCP4RF27, RF49RNF02, RNF10, RNF11N-V-E-S-T
F15IT1Disponibilizar informações institucionaisCP4RF50, RF51RNF02, RNF21, RNF27I-N-V-E-S-T
F16IT1Gerenciar artigos de FAQCP6RF28, RF29, RF30, RF31RNF01, RNF04, RNF05N-V-E-S-T
F17IT1Controlar publicação de artigos FAQCP6RF32, RF33RNF01N-V-E-S-T
F18IT1Correspondência FAQ ↔ dúvidas dos leadsCP6RF34, RF52RNF02N-V-E-S-T
F19IT2Gerenciar clientes e leadsCP1RF35, RF36, RF37, RF41, RF60, RF61, RF62RNF01, RNF03, RNF09, RNF11, RNF24, RNF25I-N-V-E-S-T
F20IT2Gerenciar colunas do funilCP1RF38, RF39, RF40RNF01, RNF03, RNF09, RNF11, RNF22N-V-E-S-T
F21IT2Registrar interações comerciaisCP1RF42, RF53, RF59RNF01, RNF03, RNF09, RNF11N-V-E-S-T
F22Acessar tickets para acompanhamentoCP8RF43, RF58RNF01, RNF03, RNF09, RNF23I-N-V-E-S-T
F23Gerenciar tickets de suporteCP8RF44, RF45RNF01, RNF03, RNF09N-V-E-S-T

Requisitos Funcionais (RFs)

IDNomeFeatureObservação
RF08Autenticar perfil de usuárioF09Login implementado; MFA (TOTP) sem rotas ativas
RF09Encerrar sessãoF09Botão de logout no ProfileModal
RF10Acessar painel administrativoF10Rotas protegidas por hooks.server.ts + Supabase
RF11Editar informações dos membrosF11MemberModal com edição de perfil e permissões
RF12Cadastrar novo membroF11Geração de senha segura + e-mail de boas-vindas
RF13Inativar membro cadastradoF11toggleStatus na tabela de membros
RF14Remover membro cadastradoF11Modal de confirmação + API DELETE
RF15Adicionar template de notificaçõesF08Tipo por catálogo fixo + cor personalizável; ativação automática por substituição (IT2, refinado)
RF21Cadastrar produto SaaSF12ProductModal + POST /admin/products
RF22Editar produto SaaSF12PATCH /admin/products/:id
RF23Remover produto SaaSF12DELETE /admin/products/:id
RF24Reordenar produtos SaaSF12Drag-and-drop + PATCH /reorder
RF25Publicar produto SaaSF13PATCH published=true
RF26Despublicar produto SaaSF13PATCH published=false
RF27Cadastrar contato com a empresaF14Formulário de contato na vitrine
RF28Cadastrar artigo de FAQF16POST /admin/faq/articles
RF29Editar artigo de FAQF16PATCH /admin/faq/articles/:id
RF30Remover artigo de FAQF16DELETE /admin/faq/articles/:id
RF31Categorizar artigo de FAQF16Gestão de categorias via modal
RF32Publicar artigo de FAQF17togglePublish published=true
RF33Despublicar artigo de FAQF17togglePublish published=false
RF34Avaliar artigo de FAQF18Botões útil/não útil na vitrine
RF35Editar dados do cliente/leadF19PATCH /admin/crm/clients/:id (IT2)
RF36Inativar/reativar cliente/leadF19Soft-delete (status=inativo); reativação implementada em 01/07/2026 (achado fechado), ver V&V IT2 · MR.01 (IT2)
RF37Cadastrar lead no CRMF19NewLeadModal + POST /admin/crm/clients (IT2)
RF38Adicionar colunas no CRMF20POST /admin/crm/columns (IT2)
RF39Remover colunas no CRMF20DELETE protegido (invariante ≥1 coluna) (IT2)
RF40Editar colunas no CRMF20Nome, cor e reordenação por drag-and-drop (IT2)
RF41Atualizar dados operacionais dos cardsF19Drag-and-drop entre colunas com rollback otimista (IT2)
RF42Adicionar interação comercialF21Timeline no drawer do card (IT2)
RF46Listar histórico de notificaçõesF07Central de notificações, ordenada por data (IT2)
RF47Alterar status da notificaçãoF07Marcar como lida, atualização otimista (IT2)
RF48Editar próprio perfil no painelF10ProfileModal + PATCH /profile/me
RF49Detalhar conformidade com a LGPDF14Páginas /privacidade e /cookies
RF50Consultar detalhes de produto na vitrineF15Página /produtos/[slug]
RF51Permitir utilização de cookiesF15Banner de consentimento
RF52Filtrar artigos FAQF18
RF53Remover interação comercialF21Soft-delete (removed=true) — texto corrigido em 01/07/2026 para refletir a remoção lógica já implementada, ver V&V IT2 · MR.01 (IT2)
RF56Editar template de notificaçõesF08PATCH /admin/notification-templates/:id (IT2)
RF57Remover template de notificaçõesF08Inativação lógica + fallback padrão (IT2)
RF59Editar interação comercialF21PATCH preserva autor/data originais (IT2)
RF60Filtrar e buscar leads no CRMF19Busca por nome/e-mail + filtros de produto/responsável — novo, ver V&V IT2 · MR.02 (IT2)
RF61Exportar leads do CRM em CSVF19Exportação respeita os filtros aplicados — novo, ver V&V IT2 · MR.02 (IT2)
RF62Visualizar leads em tabela e indicadores do funilF19Toggle Kanban/Tabela + mini-dashboard — novo, ver V&V IT2 · MR.02 (IT2)
RF63Personalizar cor e tipo de template de notificaçãoF08Seletor por catálogo fixo + paleta de cores — novo, ver V&V IT2 · MR.04 (IT2)

Requisitos Não Funcionais (RNFs)

Classificação segundo a taxonomia de Sommerville (product, organisational e external requirements). Tabela única (sem abas) para que o link de um nó RNF na matriz de rastreabilidade sempre role até a linha certa — inclusive quando o mesmo RNF aparece em várias features, cada uma delas continua listando o RNF nas suas próprias evidências.

IDNomeClassificaçãoAplica-se aDescrição
RNF01Isolamento de acesso administrativoSegurançaF01–F06, F09, F16, F17, F19–F21Toda rota do painel administrativo é servida em endpoint/caminho distinto do site público e exige token de sessão (JWT) válido; requisições sem token válido recebem HTTP 401/403 e nunca renderizam dados administrativos, mesmo parcialmente.
RNF02Tempo de resposta da vitrineEficiênciaF01, F14, F15, F1895% 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.
RNF03Tempo de resposta da área administrativaEficiênciamúltiplas95% das operações de leitura no painel administrativo (listagens, dashboards, detalhes de registro) retornam em até 2 segundos, do disparo da requisição HTTP à resposta completa da API, sob carga normal de uso (≤ 10 usuários simultâneos).
RNF04Renderização SSR da vitrineOrganizacionalF12, F16Todas as páginas públicas da vitrine são renderizadas no servidor (SSR) antes do envio ao cliente: o HTML inicial já contém o conteúdo textual completo, verificável via curl/"view-source" sem executar JavaScript.
RNF05SEOExternoF12, F16Cada página pública expõe meta tags (title, description, Open Graph), sitemap.xml atualizado a cada publicação e robots.txt permitindo indexação; validado sem erros no Google Rich Results Test e nota ≥ 90 no Lighthouse SEO.
RNF07Conformidade com OWASP Top 10SegurançaGlobalNenhuma das 10 categorias de vulnerabilidade do OWASP Top 10 (edição vigente) é explorável no sistema, verificado por checklist de revisão categoria-a-categoria e, quando aplicável, por scanner automatizado (ex.: OWASP ZAP) sem findings de severidade alta/crítica.
RNF08Criptografia de credenciaisSegurançaF09Senhas são armazenadas exclusivamente como hash Argon2id (ou bcrypt) com salt único por registro e fator de custo ≥ 12; a senha em texto claro nunca é persistida, logada ou trafegada fora do canal HTTPS de autenticação.
RNF09Controle de acesso por linha (RLS)SegurançamúltiplasToda tabela com dados sensíveis (clientes, leads, notificações, membros) tem política de Row Level Security ativa no banco, restringindo leitura/escrita ao perfil autorizado mesmo em acesso direto ao banco; verificado por teste com credencial de perfil não autorizado.
RNF10Proteção do formulário públicoSegurançaF14O 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.
RNF11Conformidade parcial com LGPDExternoF03–F06, F14, F19–F21A 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.
RNF12ResponsividadeUsabilidadeGlobalToda tela do sistema é utilizável sem scroll horizontal e sem sobreposição de elementos nos breakpoints de 360px (mobile), 768px (tablet) e 1280px (desktop), validado por teste manual nos 3 breakpoints em Chrome DevTools.
RNF13Bilinguismo da vitrineUsabilidadeF12Toda a vitrine pública está disponível em português e inglês, com troca de idioma em 1 clique, sem perda de contexto de navegação (permanece na mesma rota); nenhuma string de interface pública fica sem tradução.
RNF14Escalabilidade horizontalEficiênciaGlobalO backend suporta aumento do número de réplicas sem qualquer alteração de código-fonte, mantendo estado apenas no banco de dados/sessão externa (nenhum estado em memória do processo); verificado ao escalar de 1 para 3 instâncias sem erros.
RNF15Suporte a carga concorrenteEficiênciaF12O sistema atende 50 requisições simultâneas mantendo os limites de RNF02/RNF03 (≤ 2s em 95% dos casos), verificado por teste de carga (ex.: k6/Artillery) com 50 usuários virtuais concorrentes.
RNF16Stack tecnológico obrigatórioOrganizacionalGlobalA implementação usa exclusivamente SvelteKit no frontend, Express no backend e PostgreSQL via Supabase como banco/autenticação, conforme o Documento de Visão; qualquer exceção exige ADR aprovado.
RNF17Cobertura mínima de testesOrganizacionalGlobalA suíte de testes automatizados (unitários + integração) cobre no mínimo 45% das linhas de código do backend e do frontend, medido por ferramenta de cobertura a cada execução de CI; PRs que reduzem a cobertura abaixo do limiar são bloqueados.
RNF18Portabilidade de navegadorPortabilidadeGlobalO sistema funciona sem erros visuais ou funcionais nas 2 versões mais recentes de Chrome, Firefox, Safari e Edge, validado por smoke test manual das telas principais em cada navegador antes de cada entrega.
RNF19Alcançabilidade de seções em até 3 cliquesUsabilidadeF12Qualquer seção da vitrine pública é alcançável a partir da página inicial em no máximo 3 cliques/interações, validado por mapeamento do fluxo de navegação e teste de usuário sem instrução prévia sobre a estrutura do site.
RNF21Reorganização intuitiva (cards)UsabilidadeF15A reordenação de cards do CRM por arrastar-e-soltar reflete visualmente a nova posição em até 1,5s após soltar o card, sem recarregar a página; falha de rede reverte o card para a posição original (rollback visual).
RNF22Reorganização intuitiva (colunas)UsabilidadeF20A reordenação de colunas do funil por arrastar-e-soltar reflete visualmente a nova ordem em até 1,5s após soltar a coluna, sem recarregar a página, com rollback visual para a ordem original em caso de falha ao persistir.
RNF23Resumo expansível de ticketsUsabilidadeF22Cada ticket de suporte exibe, em estado resumido (fechado), ao menos status, prioridade e responsável, sendo expansível para o detalhe completo sem sair da tela de listagem (sem redirecionamento de página).
RNF24Cards do CRM resumidos/expansíveisUsabilidadeF19Cada card de lead/cliente no board Kanban exibe, em estado resumido, nome, produto vinculado e responsável, sendo expansível (clique) para o detalhe completo e o histórico de interações sem redirecionamento de página.
RNF25Drag-and-drop dos cards do CRMUsabilidadeF19Mover um card entre colunas do funil por arrastar-e-soltar atualiza visualmente a coluna do card em até 1,5s após soltar, sem recarregar a página; falha ao persistir retorna o card à coluna de origem (rollback visual).
RNF27Conformidade com a LGPD nas páginas institucionaisExternoF15As páginas institucionais não coletam, processam ou armazenam dado pessoal de visitante; qualquer cookie de analytics/rastreamento opcional permanece bloqueado até consentimento explícito (RN08) e a política de privacidade permanece acessível no rodapé (RN09), atendendo aos princípios de minimização e transparência da LGPD.

Segurança Segurança (Dependability) · Eficiência Eficiência (Efficiency) · Usabilidade Usabilidade (Usability) · Confiabilidade Confiabilidade (Reliability/Availability) · Portabilidade Portabilidade (Portability) · Organizacional Organizacional (Organisational) · Externo Externo (External — legislativo/interoperabilidade)

Regras de Negócio (RNs)

Políticas e restrições que governam o comportamento do sistema, independentes de tecnologia.

IDNomeDescriçãoFeaturesRFs
RN01Visibilidade de produtosSó produtos published=true aparecem na vitrine; efeito imediatoF12, F13RF25, RF26
RN02Visibilidade de artigos FAQArtigos published=false não aparecem; despublicação não excluiF16, F17RF32, RF33
RN03Acesso modular por permissãomember precisa de v para ver, e para editar, a para excluir/aprovarF10, F11RF10, RF11
RN04Owner com acesso irrestritoowner acessa todos os módulos, ignorando a matriz de permissõesF10, F11RF10
RN05Membro inativo bloqueadostatus=inactive não autentica nem acessa rotas protegidasF09, F10RF08, RF10
RN06Senha temporária no cadastroSenha gerada automaticamente, trocada no 1º acesso, não retornada pela APIF11RF12
RN07Avaliação anônima de FAQVisitantes avaliam sem autenticação; incrementa contadoresF18RF34
RN08Consentimento de cookiesBanner no 1º acesso; preferência persistida e respeitadaF15RF49, RF51
RN09Políticas sempre acessíveisLinks de privacidade/cookies no rodapé de todas as páginasF14, F15RF49, RF51
RN10Conformidade com o design systemPaleta oficial (#E71F84, #66DF7A, #7F3FE5) e tipografia aprovadaF12, F14, F15
RN11Conteúdo institucional obrigatórioMissão, Visão e Valores + logotipo na página institucionalF15RF50
RN12Ordem de produtos pelo administradorSequência definida por drag-and-drop reflete a curadoria do portfólioF12, F13, F15RF24, RF25
RN13Geração automática de notificaçõesNotificações são criadas automaticamente por eventos-chave do sistema (ex.: captação de lead), nunca manualmente pelo usuárioF07RF46
RN14Template de notificação por eventoCada evento usa o template do seu tipo; na ausência de um específico, recorre-se ao template padrão de fallback, sem deixar evento sem notificaçãoF08RF15, RF56, RF57
RN15Proteção contra autoexclusão de contaUm administrador não pode inativar nem remover a própria contaF11RF13, RF14
RN16Publicação explícita de conteúdoProdutos e artigos de FAQ nascem despublicados; só ficam visíveis ao público após publicação explícita do administradorF12, F16RF21, RF28
RN17Autogestão do perfil próprioQualquer usuário autenticado edita apenas os próprios dados de perfil, sem acessar perfis de terceiros, independentemente das permissões de móduloF10RF48
RN18Consentimento LGPD na captação de leadA captação de lead pela vitrine exige consentimento LGPD registrado antes de persistir os dados do visitanteF14RF27
RN19Entrada do lead no funilTodo lead/cliente cadastrado no CRM entra na coluna inicial padrão do funilF19RF37
RN20Inativação preserva o registroCliente/lead inativado sai do fluxo ativo do funil, mas é preservado no banco (soft-delete), nunca excluído fisicamenteF19RF36
RN21Integridade do funilO funil mantém ao menos uma coluna; coluna padrão ou com cards não é removida sem realocação dos cardsF20RF39
RN22Remoção lógica de interaçãoA remoção de uma interação comercial é lógica (soft-delete, removed=true): some da timeline do card, mas o registro é preservado no banco para auditoriaF21RF53
RN23Categorização vinculada a produtoCategorias de FAQ são vinculadas a produtos, organizando os artigos da base de conhecimento por produtoF16RF31
RN24Escopo de busca, filtros e exportação do CRMBusca, filtros por produto/responsável, indicadores do funil e exportação em CSV operam exclusivamente sobre leads com status ativo (mesmo conjunto exibido no board Kanban); a exportação reflete somente os leads visíveis após os filtros aplicados no momento da açãoF19RF60, RF61, RF62
RN25Ativação exclusiva de template por tipo de eventoAo salvar (criar ou editar) um template associando-o a um tipo de evento, qualquer outro template previamente ativo para esse mesmo tipo é desativado automaticamente, garantindo no máximo 1 template ativo por tipo sem exigir remoção manual préviaF08RF15, RF63
RN26Catálogo fixo de tipos de notificaçãoO tipo de evento de um template é restrito a um catálogo fixo pré-definido (não é texto livre); tipos do catálogo ainda sem nenhum ponto do sistema que dispare notificações reais aparecem desabilitados na interface até que a funcionalidade correspondente seja implementadaF08RF63
RN27Escopo informativo institucionalAs páginas institucionais existem exclusivamente para disponibilizar publicamente as informações institucionais da Crianex (Missão, Visão, Valores); não há SLA de disponibilidade contínua nem uptime mínimo exigido — a operação segue o mesmo regime do restante da vitrine públicaF15RF50
Histórico de Revisão · 9 versões
VersãoDataDescriçãoAutor(es)
1.017/05/2026Features, RFs e RNFs extraídos da rastreabilidadeLucas A. Zanetti
1.109/06/2026Status IT1; Regras de Negócio (RN01–RN12)Lucas A. Zanetti
2.026/06/2026Página criada no Docusaurus: tabelas de RF/RNF/RN separadas da rastreabilidade, com tabs por iteraçãoEquipe Crianex
2.128/06/2026Novas Regras de Negócio (RN13–RN23) cobrindo RFs sem RN; RN11 vinculada a RF50Equipe Crianex
2.201/07/2026F07/F08/F19/F20/F21 concluídas: RFs movidos para "Implementados"; RF60–RF63 novos (busca/filtros/exportação/dashboard do CRM; cor e catálogo de tipo dos templates); RF15 refinado (ativação automática); RN24–RN26. Ver detalhamento em [V&V IT2](/iteracoes/iteracao-2/vv#mr01)Equipe Crianex
2.301/07/2026RNF20 (disponibilidade 24/7 institucional) removido por inviabilidade e convertido em RN27 (escopo informativo institucional, sem SLA de uptime); RNF27 (conformidade LGPD nas páginas institucionais) adicionado a F15; evidências de RF08, RF23, RF24, RF50, RF51 e diversas RNFs atualizadas/completadasEquipe Crianex
2.401/07/2026F19: RNF11 (LGPD) adicionado — estava listado na rastreabilidade sem aba correspondente; evidências de RF36, RF41, RNF09, RNF24 e RNF25 atualizadas/completadas. Todas as features da IT2 (F07, F08, F19, F20, F21) ganharam as abas DoR/DoD, alinhando com o padrão já usado na IT1Equipe Crianex
2.501/07/2026F12: evidência de RNF05 (SEO) completada com 3 screenshots (sitemap.xml, meta tags, robots.txt); RNF19 (alcançabilidade em 3 cliques) passa a usar vídeo do YouTube embutido (novo componente YouTubeEmbed) no lugar de screenshotEquipe Crianex
2.601/07/2026Auditoria completa de evidências pendentes: F15/RNF27 (LGPD) recebe screenshot real; F13/RF26 ganha 2ª e 3ª evidência; F16/RF30 e RNF05 e F17/RF32 e RF33 ganham 2ª (e no caso de RNF05, 3ª) evidência; F18/RF34 e RF52 ganham 2ª evidência; placeholders de RNF01/RNF04 (F16 e F17) substituídos por screenshots reaisEquipe Crianex