Pular para o conteúdo

Requisitos (ISO/IEC/IEEE 29148)

A norma ISO/IEC/IEEE 29148:2018 define que cada requisito deve ser necessário, não ambíguo, verificável, consistente e rastreável. Por isso cada linha abaixo traz um identificador, a origem e o método de verificação: I inspeção, D demonstração, T teste, A análise.

ID Requisito Origem Verif.
RF-01 O sistema deve permitir cadastro com nome, CPF/CNPJ, profissão, telefone, e-mail, senha e endereço (CEP, logradouro, número, complemento, bairro, cidade, UF). RegisterForm, User D
RF-02 O sistema deve autenticar por e-mail e senha e manter a sessão em cookie. Better Auth T
RF-03 O sistema deve permitir recuperar a senha por e-mail e redefini-la por link de uso único. /recover-password, /reset-password T
RF-04 O usuário deve poder editar profissão e telefone no perfil. /home/account/profile D
RF-05 O sistema deve exibir canais de suporte (e-mail, WhatsApp e horário). /home/account/support, HelpInfo I
ID Requisito Origem Verif.
RF-10 O usuário deve criar um rascunho informando o nome do paciente. CreateDraftModal D
RF-11 O sistema deve aceitar uma plantigrafia por pé em JPEG, PNG, WebP ou PDF de até 5 MB, em formato A4. PlantigraphyUpload T
RF-12 O sistema deve liberar os passos em sequência: plantigrafia → produto → peças → cobertura. Nota e ajuda ficam sempre disponíveis. Estúdio (botões desabilitados com “Finalize o passo anterior”) D
RF-13 O usuário deve escolher o modelo do produto, a característica e o tamanho (20 a 47). /studio/[id]/product D
RF-14 O usuário deve adicionar peças corretivas escolhendo material, tamanho e lado (ambos, direito ou esquerdo), com busca por nome. /studio/[id]/pieces D
RF-15 O usuário deve posicionar, selecionar e remover elementos sobre a plantigrafia, com zoom e recentralização. VectorizationCanvas (Konva) D
RF-16 O usuário deve escolher a cobertura: modelo, cor, característica, reforço de maciez e personalização (logo, nome do paciente, ambos ou nenhum). /studio/[id]/cover D
RF-17 O usuário deve poder registrar observações para a fábrica. /studio/[id]/note D
RF-18 O sistema deve salvar automaticamente o estado da vetorização e as imagens de criação. useAutoSaveVectorization, useAutoSaveCreationImages T
RF-19 O sistema deve exibir a parcial com itens por pé, preços, taxa de montagem e total. /partial/[id] D
ID Requisito Origem Verif.
RF-30 O usuário deve enviar rascunhos para a sacola e escolher a quantidade (1 a 10). /home/cart D
RF-31 O sistema deve aplicar cupom de desconto válido. POST /carts/:id/apply-coupon T
RF-32 O usuário deve escolher a forma de envio entre as taxas de código EN* cadastradas. Subtotal.tsx D
RF-33 O sistema deve converter a sacola em pedido e redirecionar para o checkout da InfinitePay. convert-to-order, create-payment-link T
RF-34 O sistema deve marcar o pedido como pago ao receber a notificação do gateway. /api/webhook T
RF-35 Ao confirmar o pagamento, o sistema deve gerar os PDFs de produção (informações do pedido, etiqueta de entrega, plantigrafias) e enviar o e-mail de confirmação. UpdateOrderStatusUseCase T
RF-36 O usuário deve consultar seus pedidos com status, itens, desconto e total. /home/orders D
ID Requisito Origem Verif.
RF-50 O administrador deve gerenciar acessos de administradores e usuários (suspender, excluir). /admin/access D
RF-51 O administrador deve cadastrar, ativar e desativar produtos, peças e coberturas com miniaturas, preços, tamanhos, lados e vetorização. /admin/products, /admin/pieces, /admin/coverages D
RF-52 O administrador deve alterar o status do pedido e informar envio (rastreio ou retirada). /admin/orders D
RF-53 O sistema deve enviar e-mail ao cliente a cada mudança de status. Para “Pronto”, só quando o envio for informado. UpdateOrderStatusUseCase T
RF-54 O administrador deve gerenciar taxas, itens de suporte, documentos, slide show e cupons. /admin/miscellaneous D

Os valores-alvo vêm do plano de qualidade do projeto. São metas, não medições: a coluna Situação diz o que já existe para verificá-las.

ID Atributo (ISO 25010) Requisito Situação
RNF-01 Disponibilidade ≥ 99% ao mês. Health check no Coolify (/api/health); sem monitor externo configurado no repositório.
RNF-02 Eficiência p95 ≤ 100 ms nas rotas de leitura da API. Sem medição automatizada.
RNF-03 Eficiência Estúdio fluido: ≥ 30 FPS ao arrastar elementos. Sem medição automatizada.
RNF-04 Manutenibilidade Cobertura de testes ≥ 70% nos módulos de negócio. 31 arquivos de teste no monorepo; cobertura não publicada no pipeline.
RNF-05 Segurança Sessão em cookie HttpOnly/Secure; senhas com hash; rotas administrativas restritas a role=admin. Parcial: ver Riscos.
RNF-06 Usabilidade Interface utilizável em celular a partir de 375 px de largura. Navegação inferior mobile-first; estúdio com problemas de corte em 375 px.
RNF-07 Portabilidade Implantação sem provedor de nuvem proprietário (VPS + Coolify). Atendido.
RNF-08 Conformidade Tratamento de dados pessoais (CPF, endereço, nome do paciente) de acordo com a LGPD. Sem política documentada no repositório.
Desenvolvido e documentado por
Nós Tecnologia · Desenvolvimento Criativo