Skip to content

Repository files navigation

Raia Commerce — loja demo do nicho de clubes de tiro

Cópia do starter ecomplus/store tematizada para clubes de tiro e varejo de produto controlado. Serve de vitrine navegável para a hipótese de nicho que hoje só existe como demo noindex no site institucional.

  • Marca e copy: www.e-com.plus/src/config/brands.ts, objeto raiaCommerce (rota /demo/raia-commerce).
  • Vitrine do nicho: www.e-com.plus/src/components/clubes-de-tiro/vitrine/.
  • Referência de mercado: guns.com — usada só como referência de UX de catálogo técnico (faceta por calibre, tipo de ação, fabricante). O modelo comercial é outro: lá é varejo americano com rede FFL, aqui é a loja do clube sob norma brasileira.

Leia isto antes de mexer

Diferente das outras duas variantes, aqui existe risco legal para o lojista, não só risco de marketing.

  • CR é emitido pela Polícia Federal, a arma é registrada no SIGMA (Exército) e a venda de munição passa pelo SICOVEM, que desde 01/01/2025 exige SIGMA e CPF antes de concluir a venda.
  • A e-com.plus não reimplementa nada disso. O desenho é: o ERP do clube é a fonte da verdade do sócio (CR, categoria, acervo) e a loja consulta a elegibilidade antes de liberar produto controlado.
  • O registro da venda no SICOVEM continua sendo etapa do lojista. A integração que existe hoje no ERP do nicho passa por extensão de navegador com conferência do operador, não por API — o pedido online não fecha o ciclo sozinho, e a copy foi escrita para não prometer que fecha.
  • A consulta de elegibilidade é estado ideal, não recurso disponível. Por isso a seção de nicho traz um aviso visível ao leitor, além do comentário no código: um clube que veja esta demo não pode sair achando que já está pronto.
  • No site institucional esta variante existe só como demo noindex, sem página de segmento pública — armas e munição são categoria restrita no Google Ads e uma página indexada no domínio pode afetar a conta de anúncios.

Nenhum número de cota, habitualidade ou calibre permitido aparece na copy: são definidos por norma, mudam, e errar na frente de quem domina o assunto custa credibilidade.

O que foi customizado em relação ao starter

Arquivo O que mudou
functions/ssr/content/settings.json Nome, descrição, domínio, logo/ícone, primaryColor azul-aço + secondaryColor laranja de segurança, 5% no Pix, 6x sem juros, frete grátis (itens não controlados) a partir de R$ 299
functions/ssr/tailwind.config.js Escala neutra aço/grafite, cantos quase retos
functions/ssr/content/layout.json Pitch bar (retirada no clube, frete, aviso de produto controlado), títulos das listas do rodapé, ogImage
functions/ssr/content/pages/home.json Hero de 3 slides, 3 vitrines de produto, grade de 3 banners e a seção de nicho
functions/ssr/src/sections/NichoTiroSection.astro Novo. Vitrine aberta × controlada, elegibilidade lida do ERP (com aviso de demonstração), facetas por calibre e retirada no clube
functions/ssr/src/sections/_Sections.astro Registro da seção customizada c:nicho-tiro
functions/ssr/content/extra-pages/ Contato, trocas (regra própria para item controlado) e termos — os dois últimos com pendência jurídica explícita
functions/ssr/public/img/uploads/ Banners do Unsplash; imagens de demo do starter removidas. Créditos em CREDITOS.md

Critério das fotos

Herdado da curadoria já feita em brands.ts: só imagens com disciplina de segurança visível (cano apontado para o alvo, proteção auricular e ocular). Foram descartadas, durante esta montagem:

  • uma foto de fuzil AR em mata — no Brasil lê como uso restrito, e o contexto de caça não é o do clube;
  • um alvo de silhueta humana com a marca de um estande americano legível — o mesmo problema que já estava anotado como TODO na foto de loja do site.

Foto de cano apontado para a câmera não é descartada por ser "agressiva": é descartada porque, para este público, sinaliza que não conhecemos a cultura do nicho.

Rodando

npm i
npm run dev     # http://localhost:3000
npm run build

O catálogo é remoto: sem uma loja E-Com Plus configurada (npm run setup), as vitrines de produto vêm vazias — o hero, os banners e a seção de nicho renderizam normalmente.

Pendências conhecidas

  • Não há API pública documentada do ERP do nicho (sistemaclubedetiro.com.br) para sócio e acervo. É o que decide se toda esta arquitetura fecha — precisa ser acertado com o parceiro antes de virar roadmap.
  • A separação vitrine aberta × controlada é copy: a regra de visibilidade por elegibilidade não está implementada.
  • Logo e ícone são wordmarks placeholder rasterizados. A fonte display prevista em brands.ts (Fira Sans Extra Condensed) não foi aplicada — exige adicionar a fonte e apontar --font-brand.
  • As rotas (/s/9x19, /p/produto-controlado, /p/retirada…) só respondem depois que o catálogo e as páginas correspondentes existirem.

Como atualizar a base da plataforma

Este repositório é uma casca fina. O storefront, os componentes e a lógica de loja moram nos pacotes @cloudcommerce/*, não aqui. Atualizar o tema para uma versão nova da plataforma não é fazer merge com o starter ecomplus/store — é subir a versão das dependências, exatamente como as lojas em produção fazem: a tiasonia tem mais de 260 commits Update to v no próprio repositório e nenhum merge com o starter.

Todos os pacotes @cloudcommerce/* andam na mesma versão, na raiz e em cada grupo de functions (ssr, many, with-apps):

# 1. ver a versão mais recente e o changelog
npm view @cloudcommerce/cli version
# https://github.com/ecomplus/cloud-commerce/releases

V=2.61.4   # troque pela versão alvo

# 2. raiz
npm i -D @cloudcommerce/cli@$V @cloudcommerce/eslint@$V

# 3. cada grupo de functions
(cd functions/ssr && npm i \
  @cloudcommerce/api@$V @cloudcommerce/firebase@$V @cloudcommerce/ssr@$V \
  @cloudcommerce/i18n@$V @cloudcommerce/storefront@$V @cloudcommerce/types@$V)
(cd functions/many && npm i \
  @cloudcommerce/feeds@$V @cloudcommerce/firebase@$V @cloudcommerce/passport@$V)
(cd functions/with-apps && npm i \
  @cloudcommerce/events@$V @cloudcommerce/firebase@$V @cloudcommerce/modules@$V)

# 4. validar antes de commitar
npm run build

# 5. commitar no padrão das lojas em produção
git commit -am "Update to v$V"

Se o build quebrar depois de atualizar, a correção pertence ao cloud-commerce, não a este repositório. Aqui só entra o que é do tema: functions/ssr/src/, functions/ssr/content/ e functions/ssr/public/.

Este repositório é um template

Use "Use this template" no GitHub para começar uma loja a partir deste tema. O repositório gerado é independente: não existe upstream para puxar, e a manutenção segue o fluxo de versão acima.

Antes de ir ao ar, troque o que é placeholder:

  • functions/ssr/content/settings.json — nome, domínio, logo, cores, contato
  • functions/ssr/public/img/uploads/ — logo, ícone e banners (as fotos atuais vêm do Unsplash; créditos em CREDITOS.md)
  • functions/ssr/content/extra-pages/ — contato, trocas e termos
  • functions/ssr/public/robots.txt — hoje bloqueia tudo, porque a demo é noindex
  • functions/*/config.jsonstoreId e projeto Firebase (npm run setup)

Demo publicada: tema-raia.web.appnoindex, com catálogo compartilhado de demonstração.


Documentação do starter: SETUP.pt-BR.md · Cloud Commerce

About

Tema Cloud Commerce para o nicho de armas, municao e tiro esportivo

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages