loja-produtos

byTOM ESTIVE PLAY 8 mile

cria loja para vender produtos https://pay.kaiross.com.br/SAxOzfHaKl6S

Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

Page 1 of 9

System Requirements Document for loja-produtos

1. Introduction

loja-produtos é uma loja online brasileira para vender produtos. O produto existe para que um responsável pela loja (Store Owner) publique e mantenha um catálogo de produtos durável, e para que visitantes (Shoppers) naveguem esse catálogo pelo celular e concluam a compra por meio do checkout externo hospedado em https://pay.kaiross.com.br/SAxOzfHaKl6S.

O público é local, compra predominantemente pelo celular e espera confiança imediata: sinalização de "Checkout Seguro", prova social de "10.000+ clientes satisfeitos", preço claro em reais (valor original e valor promocional), frete calculado por CEP e campos brasileiros como CPF/CNPJ, CEP e UF. O registro emocional é moderno, confiável e levemente aspiracional — não corporativo, não infantil.

O pagamento e o checkout não são construídos neste produto: eles pertencem ao provedor externo acessado pelo link informado. A loja é responsável pela vitrine, pelo catálogo, pela identidade do Store Owner e pela apresentação do resumo do pedido e do ponto de entrada para o checkout externo.

Page 2 of 9

2. System Overview

O sistema atual é composto por:

  • Vitrine pública (Landing e Products) acessível anonimamente, que apresenta a loja, o produto em destaque, o preço promocional em reais e o catálogo de produtos disponíveis.
  • Identidade própria da aplicação para o Store Owner: autoinscrição (Sign Up) e verificação de retorno (Login), necessárias para que o catálogo durável permaneça vinculado ao participante correto e possa ser retomado.
  • Área protegida de gestão (Product Management) onde o Store Owner adiciona e mantém os produtos do catálogo.
  • Checkout externo hospedado em https://pay.kaiross.com.br/SAxOzfHaKl6S, com formulário seguro embutido, campos brasileiros, resumo do pedido e carregamento de opções de frete após o preenchimento do endereço.

Atores aceitos (conjunto fechado): Store Owner e Shopper. O provedor de pagamento em pay.kaiross.com.br é um ator não-humano externo, responsável pelo checkout e pelo processamento do pagamento.

Exclusões estreitas: a loja não processa pagamentos, não emite cobranças, não calcula frete por conta própria e não gerencia contas além da identidade mínima necessária do Store Owner. Nenhuma capacidade adjacente de e-commerce (carrinho próprio com pagamento interno, gestão de pedidos, cupons, avaliações, painel financeiro) é assumida.

Page 3 of 9

2a. Product Interpretation and Delivery Boundary

A entrega atual é uma loja com interface própria (custom UI) para vitrine, catálogo e gestão de produtos, combinada com uma superfície de checkout pertencente ao provedor externo. O visitante navega e escolhe produtos na loja; ao decidir comprar, é encaminhado ao checkout seguro do provedor, onde informa e-mail, confirmação de e-mail, nome completo, CPF/CNPJ, CEP, endereço, número, complemento (opcional), bairro, cidade, UF e celular com código do país +55, e onde as opções de frete são exibidas após o preenchimento do endereço.

A identidade é de propriedade da aplicação e existe apenas para o Store Owner: sem ela, o catálogo durável não poderia ser retomado nem permanecer vinculado ao responsável correto. A entrada para essa identidade é anônima (Sign Up e Login), e apenas a área de gestão de produtos exige identidade estabelecida. A navegação pública do catálogo permanece anônima.

Fronteira atual: Landing, Login, Sign Up, Products e Product Management, além do checkout externo do provedor.

Fora do horizonte atual: qualquer capacidade não listada acima permanece não comprometida e não deve ser construída nesta geração.

Page 4 of 9

2b. Source Content Inventory

Fatos verificados da fonte de referência de checkout (https://pay.kaiross.com.br/SAxOzfHaKl6S), preservados item a item:

Formulário de checkout (hospedado, seguro, embutido):

  • E-mail
  • Confirme o e-mail
  • Nome completo
  • CPF / CNPJ
  • CEP
  • Endereço
  • Número
  • Complemento (opcional)
  • Bairro
  • Cidade
  • UF (seleção de estado)
  • Celular (com código do país +55)

Resumo do pedido:

  • Rótulo: "Resumo do pedido"
  • Preço original: R$ 292,05
  • Preço com desconto: R$ 253,96

Frete:

  • Comportamento: as opções de frete são carregadas/exibidas após o preenchimento dos campos de endereço.
  • Texto de instrução: "Preencha seu endereço para ver as opções de frete."

Sinais de confiança da marca:

  • "Checkout Seguro"
  • "10.000+ CLIENTES SATISFEITOS"
Page 5 of 9

2c. Page Content and Component Coverage

Landing

  • Informação/estado: promessa da loja ("Sua loja de produtos com checkout seguro", com "seguro" em rosa #FF4D9D), produto em destaque com imagem, preço promocional em rosa e preço original riscado, linha de confiança com "10.000+ clientes satisfeitos" e "Checkout Seguro".
  • Ações primárias: "Comprar agora" (abre o checkout externo https://pay.kaiross.com.br/SAxOzfHaKl6S); navegação para o catálogo (Products).
  • Ações de apoio: acesso a Login e Sign Up para o Store Owner.
  • Entidades de domínio: Produto (nome, imagem, preço original, preço promocional), Loja.
  • Responsabilidades de componente: hero em duas camadas (título à esquerda, painel de vidro com produto em destaque à direita), chip de confiança com ícone de cadeado e brilho pulsante lento, painel de resumo do pedido em vidro fosco.
  • Estados: carregando (esqueleto do painel de vidro e do produto em destaque); vazio (nenhum produto em destaque disponível — exibe convite para ver o catálogo); sucesso (produto em destaque e preços renderizados); erro (falha ao carregar o destaque — mantém a promessa da loja e o link para o catálogo); recuperação (recarregar o destaque sem perder a navegação para Products).

Login

  • Informação/estado: formulário de verificação de retorno do Store Owner; mensagem de erro de credenciais; estado de envio.
  • Ações primárias: autenticar e retomar o controle do catálogo.
  • Ações de apoio: ir para Sign Up; voltar para a Landing.
  • Entidades de domínio: Identidade do Store Owner, Sessão.
  • Responsabilidades de componente: campos de vidro com label flutuante em caixa alta e tracking 0.08em, botão pill violeta, mensagens de erro acessíveis.
  • Estados: carregando (envio em andamento com botão desabilitado); vazio (formulário limpo); sucesso (redireciona para Product Management); erro (credenciais inválidas — mensagem clara e formulário preservado); recuperação (nova tentativa sem perder os dados digitados).

Sign Up

  • Informação/estado: formulário de autoinscrição do Store Owner; requisitos mínimos de identidade; estado de envio.
  • Ações primárias: criar a identidade do Store Owner e iniciar a gestão do catálogo.
  • Ações de apoio: ir para Login; voltar para a Landing.
  • Entidades de domínio: Identidade do Store Owner, Sessão.
  • Responsabilidades de componente: campos de vidro com label flutuante, validação em linha, botão pill violeta.
  • Estados: carregando (envio em andamento); vazio (formulário limpo); sucesso (identidade criada e encaminhamento para Product Management); erro (dados inválidos ou identidade já existente — mensagem específica); recuperação (correção do campo indicado sem perder o restante do formulário).
Page 6 of 9

Products

  • Informação/estado: grade de tiles de vidro com imagem quadrada, nome do produto, preço em duas linhas (original riscado e promocional em rosa #FF4D9D) e botão de compra; resumo do pedido como painel fixo no desktop e barra inferior flutuante no mobile, com total em rosa #FF4D9D e botão de checkout sempre visível.
  • Ações primárias: selecionar produto e iniciar a compra pelo checkout externo.
  • Ações de apoio: navegar de volta para a Landing; acessar Login/Sign Up.
  • Entidades de domínio: Produto, Preço original, Preço promocional, Resumo do pedido.
  • Responsabilidades de componente: tile de produto com borda luminosa de 1px que acende em #7C5CFF no hover e brilho percorrendo a borda superior em 400ms; painel/barra de resumo do pedido; selo "Checkout Seguro".
  • Estados: carregando (esqueleto de tiles); vazio (nenhum produto publicado — mensagem informativa e caminho para a Landing); sucesso (tiles renderizados com preços); erro (falha ao carregar o catálogo — mensagem e ação de tentar novamente); recuperação (recarregar a grade preservando o resumo do pedido).

Product Management

  • Informação/estado: lista dos produtos do catálogo do Store Owner com seus dados atuais; estado de cada operação de criação e edição.
  • Ações primárias: adicionar produto ao catálogo; editar dados de um produto existente.
  • Ações de apoio: sair da área protegida; revisar o catálogo público.
  • Entidades de domínio: Produto (nome, imagem, preço original, preço promocional, disponibilidade), Identidade do Store Owner.
  • Responsabilidades de componente: formulário de produto com campos de vidro e label flutuante, lista de produtos com ações por item, confirmação de operação.
  • Estados: carregando (esqueleto da lista); vazio (nenhum produto cadastrado — convite para adicionar o primeiro produto); sucesso (produto criado ou atualizado e visível na lista); erro (falha ao salvar — mensagem específica e dados preservados); recuperação (reenviar a operação sem redigitar o formulário).
Page 7 of 9

3. Functional Requirements

FR-01 — Vitrine pública da loja [explicit] As a Shopper, I should see a public store page that presents the store and its products so that I understand what is being sold and how to buy.

  • Gatilho/entrada: acesso anônimo à Landing.
  • Resultado observável: promessa da loja, produto em destaque com preço promocional em reais e preço original riscado, e linha de confiança com "10.000+ clientes satisfeitos" e "Checkout Seguro".
  • Acesso: anônimo.
  • Falha/recuperação: se o destaque não carregar, a promessa da loja e o caminho para o catálogo permanecem disponíveis.
  • Continuação: navegação para o catálogo (Products).

FR-02 — Catálogo de produtos navegável [explicit] As a Shopper, I should browse the store's product catalog so that I can choose what to buy.

  • Gatilho/entrada: acesso anônimo a Products.
  • Resultado observável: grade de tiles com imagem, nome, preço original riscado e preço promocional em rosa #FF4D9D.
  • Acesso: anônimo.
  • Falha/recuperação: se o catálogo falhar, exibir mensagem e ação de tentar novamente, preservando o resumo do pedido.
  • Continuação: seleção de um produto e início da compra.

FR-03 — Resumo do pedido persistente [explicit] As a Shopper, I should always see the order summary with the total in reais while I browse so that I know what I am about to pay.

  • Gatilho/entrada: navegação no catálogo.
  • Resultado observável: painel de vidro fixo à direita no desktop e barra inferior flutuante no mobile, com o total em rosa #FF4D9D e o botão de checkout sempre visível.
  • Acesso: anônimo.
  • Falha/recuperação: se o resumo não puder ser atualizado, o último total válido permanece visível e o botão de checkout continua acessível.
  • Continuação: abertura do checkout externo.

FR-04 — Checkout externo pelo link do provedor [explicit] As a Shopper, I should complete my purchase through the store's external checkout link https://pay.kaiross.com.br/SAxOzfHaKl6S so that my payment is processed securely.

  • Gatilho/entrada: acionamento de "Comprar agora" na Landing ou do botão de checkout no catálogo.
  • Resultado observável: abertura do checkout hospedado do provedor, com formulário seguro embutido e resumo do pedido.
  • Acesso: anônimo (o checkout pertence ao provedor externo).
  • Falha/recuperação: se o checkout não abrir, a loja mantém o link visível e permite nova tentativa.
  • Continuação: conclusão do pedido no provedor.

FR-05 — Formulário de checkout com campos brasileiros [explicit] As a Shopper, I should fill the checkout form with the provider's required fields so that my order and delivery can be completed.

  • Gatilho/entrada: checkout externo aberto.
  • Resultado observável: campos E-mail, Confirme o e-mail, Nome completo, CPF / CNPJ, CEP, Endereço, Número, Complemento (opcional), Bairro, Cidade, UF (seleção de estado) e Celular (com código do país +55).
  • Acesso: provedor externo.
  • Falha/recuperação: validação e correção pertencem ao provedor.
  • Continuação: carregamento das opções de frete.

FR-06 — Frete exibido após o endereço [explicit] As a Shopper, I should see shipping options after I fill in my address so that I know the delivery cost before paying.

  • Gatilho/entrada: preenchimento dos campos de endereço no checkout.
  • Resultado observável: opções de frete carregadas/exibidas; antes disso, o texto "Preencha seu endereço para ver as opções de frete."
  • Acesso: provedor externo.
  • Falha/recuperação: pertence ao provedor.
  • Continuação: conclusão do pedido.

FR-07 — Resumo do pedido no checkout [explicit] As a Shopper, I should see the order summary with original and discounted prices in the checkout so that I can confirm the value.

  • Gatilho/entrada: checkout externo aberto.
  • Resultado observável: rótulo "Resumo do pedido", preço original R$ 292,05 e preço com desconto R$ 253,96.
  • Acesso: provedor externo.
  • Falha/recuperação: pertence ao provedor.
  • Continuação: conclusão do pedido.

FR-08 — Sinais de confiança [explicit] As a Shopper, I should see trust signals while I shop so that I feel safe buying.

  • Gatilho/entrada: navegação na Landing e no catálogo.
  • Resultado observável: selo "Checkout Seguro" e contador "10.000+ clientes satisfeitos" renderizados como chip de vidro com ícone de cadeado e brilho pulsante lento.
  • Acesso: anônimo.
  • Falha/recuperação: os sinais permanecem visíveis mesmo se outros conteúdos falharem.
  • Continuação: abertura do checkout externo.

FR-09 — Autoinscrição do Store Owner [required_inference] As a Store Owner, I should create my own identity on first use so that I can begin managing the store's catalog.

  • Gatilho/entrada: acesso anônimo a Sign Up.
  • Resultado observável: identidade criada e encaminhamento para a área protegida de gestão.
  • Acesso: entrada anônima; a área protegida só fica disponível após a identidade ser estabelecida.
  • Falha/recuperação: dados inválidos ou identidade já existente produzem mensagem específica e o formulário é preservado para correção.
  • Continuação: adição do primeiro produto.

FR-10 — Verificação de retorno do Store Owner [required_inference] As a Store Owner, I should verify my identity when I return so that I can resume control of the durable catalog.

  • Gatilho/entrada: acesso anônimo a Login.
  • Resultado observável: sessão restabelecida e encaminhamento para a área protegida de gestão.
  • Acesso: entrada anônima; a área protegida só fica disponível após a verificação.
  • Falha/recuperação: credenciais inválidas produzem mensagem clara e o formulário é preservado para nova tentativa.
  • Continuação: manutenção do catálogo.

FR-11 — Adicionar produto ao catálogo [required_inference] As a Store Owner, I should add products to the store catalog so that they become available for purchase.

  • Gatilho/entrada: ação de adicionar produto em Product Management, com identidade estabelecida.
  • Resultado observável: produto criado e visível na lista de gestão e no catálogo público.
  • Acesso: protegido (Store Owner autenticado).
  • Falha/recuperação: falha ao salvar exibe mensagem específica e preserva os dados digitados para reenvio.
  • Continuação: revisão do catálogo público.

FR-12 — Manter produtos existentes [required_inference] As a Store Owner, I should edit the products already in the catalog so that the store keeps selling accurate items.

  • Gatilho/entrada: seleção de um produto na lista de gestão, com identidade estabelecida.
  • Resultado observável: dados do produto atualizados na lista de gestão e no catálogo público.
  • Acesso: protegido (Store Owner autenticado).
  • Falha/recuperação: falha ao salvar exibe mensagem específica e preserva os dados digitados para reenvio.
  • Continuação: retorno à lista de produtos.

FR-13 — Catálogo durável vinculado ao Store Owner [required_inference] As a Store Owner, I should have my catalog remain bound to my identity across sessions so that my work is not lost or attributed to another participant.

  • Gatilho/entrada: criação ou edição de produtos sob identidade estabelecida.
  • Resultado observável: os produtos permanecem associados ao Store Owner correto e reaparecem ao retomar a sessão.
  • Acesso: protegido.
  • Falha/recuperação: se a sessão expirar, a verificação de retorno restaura o acesso ao mesmo catálogo.
  • Continuação: manutenção contínua do catálogo.
Page 8 of 9

4. User Personas

Store Owner

  • Contexto de produto: é quem pediu a loja para vender produtos. Precisa colocar a loja no ar com itens disponíveis para compra por meio do link de pagamento informado.
  • Objetivo principal: ter uma loja ativa com produtos publicados e compráveis pelo checkout externo.
  • Responsabilidades aceitas: criar sua própria identidade na primeira utilização; verificar sua identidade ao retornar; adicionar produtos ao catálogo; manter os produtos existentes; manter o catálogo vinculado à sua identidade entre sessões.
  • Entradas e decisões: dados de identidade na autoinscrição e no retorno; dados de cada produto (nome, imagem, preço original, preço promocional, disponibilidade) ao adicionar ou editar.
  • Interações com outros participantes: o Shopper é o destinatário final do catálogo que o Store Owner publica; o provedor externo em pay.kaiross.com.br é quem processa o pagamento dos pedidos gerados a partir desse catálogo.
  • Sucesso observável: a loja está no ar, os produtos aparecem no catálogo público e podem ser comprados pelo link de checkout.
  • O que distingue este papel: o Store Owner é o único ator que cria e altera estado durável no produto; seu trabalho é de autoria e manutenção, não de navegação e compra.

Shopper

  • Contexto de produto: visitante da loja, majoritariamente no celular, que chega sem conta e quer avaliar e comprar produtos.
  • Objetivo principal: concluir a compra de um produto pelo checkout da loja.
  • Responsabilidades aceitas: navegar pelo catálogo; escolher produtos; acompanhar o resumo do pedido e o total em reais; abrir o checkout externo; preencher os campos exigidos pelo provedor; ver as opções de frete após informar o endereço; concluir o pedido.
  • Entradas e decisões: seleção de produto; decisão de compra; dados pessoais e de endereço no checkout (E-mail, Confirme o e-mail, Nome completo, CPF / CNPJ, CEP, Endereço, Número, Complemento opcional, Bairro, Cidade, UF, Celular com +55).
  • Interações com outros participantes: consome o catálogo publicado pelo Store Owner; entrega seus dados de pedido ao provedor externo de checkout.
  • Sucesso observável: pedido concluído no checkout seguro, com preço e frete conhecidos antes do pagamento.
  • O que distingue este papel: o Shopper nunca cria nem altera o catálogo; sua jornada é de descoberta, decisão e pagamento, e termina fora da loja, no provedor.

5. Core User Flows

Page 9 of 9

Fluxo A — Store Owner publica a loja e o primeiro produto

  1. O Store Owner acessa a Landing anonimamente e entende a promessa da loja e o caminho de compra.
  2. Ele escolhe criar sua identidade e vai para Sign Up.
  3. Em Sign Up, ele informa os dados de identidade exigidos e envia o formulário. A identidade é criada e ele é encaminhado à área protegida.
  4. Em Product Management, ele encontra a lista vazia e o convite para adicionar o primeiro produto.
  5. Ele adiciona um produto informando nome, imagem, preço original e preço promocional.
  6. Resultado observável: o produto aparece na lista de gestão e passa a integrar o catálogo público.
  7. Continuação: ele revisa o catálogo público em Products para confirmar que o item está visível e comprável.
  8. Falha/recuperação: se o salvamento falhar, a mensagem de erro é exibida e os dados digitados permanecem no formulário para reenvio.

Fluxo B — Store Owner retorna e mantém o catálogo

  1. O Store Owner acessa Login anonimamente.
  2. Ele informa suas credenciais e envia o formulário.
  3. Resultado observável: a sessão é restabelecida e ele é encaminhado a Product Management, onde seu catálogo anterior reaparece vinculado à sua identidade.
  4. Ele seleciona um produto existente e edita seus dados.
  5. Resultado observável: os dados atualizados aparecem na lista de gestão e no catálogo público.
  6. Continuação: ele retorna à lista de produtos.
  7. Falha/recuperação: credenciais inválidas exibem mensagem clara e preservam o formulário; falha ao salvar preserva os dados digitados para reenvio.

Fluxo C — Shopper descobre produtos e compra

  1. O Shopper acessa a Landing anonimamente pelo celular.
  2. Ele vê a promessa da loja, o
Landing design preview
Landing: View store promise and price
Landing: 1. Open external checkout
Landing: 2. Reload after checkout fails
Landing: Browse catalog
Products: 1. Browse product tiles
Products: Select a product
Products: Review order summary total
Products: Start purchase via checkout
Products: 2. Retry loading catalog
Landing design preview
Landing: View store promise and price
Landing: 1. Open external checkout
Landing: 2. Reload after checkout fails
Landing: Browse catalog
Products: 1. Browse product tiles
Products: Select a product
Products: Review order summary total
Products: Start purchase via checkout
Products: 2. Retry loading catalog