Customized from ecomplus/store, aimed at shooting clubs and controlled goods retail scenarios
tema-raia — Astro Ecommerce Template
By ecomplus
Raia Commerce is a store template on the E-Com Plus platform, customized from ecomplus/store, aimed at shooting clubs and controlled goods retail scenarios. The README states that it includes brand configuration, homepage layout, custom blocks and extra pages, but the compliance integrations required for controlled goods sales are not yet implemented.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Includes brand configuration, homepage layout, custom blocks and extra pages
README explicitly states legal risk; compliance processes are not implemented within the platform
Eligibility query is described as an ideal state, not an implemented feature
Provides run and build commands, but an E-Com Plus store must be configured to display products
Known to-dos include the lack of a public API and unimplemented eligibility visibility rules
Template Details
Raia Commerce is a store template on the E-Com Plus platform, customized from ecomplus/store, aimed at shooting clubs and controlled goods retail scenarios. The README explicitly states that this is a demo template intended to showcase assumptions for this niche, not a production-ready solution. The template includes brand configuration, homepage layout, custom blocks and extra pages, and provides run and build commands.
The README specifically notes that this template involves legal risk. CR is issued by the Federal Police, firearms are registered in SIGMA, ammunition sales require SICOVEM, and as of January 1, 2025, SIGMA and CPF are required to complete a sale. E-Com Plus does not reimplement these processes; by design, the club's ERP serves as the source of truth for membership information, and the store queries eligibility before releasing controlled goods. However, the eligibility query is described as an "ideal state," not an implemented feature.
The template includes several customizations over the starter, including settings files, Tailwind configuration, layout files, homepage content, a new NichoTiroSection block, extra pages and image assets. The README also lists known to-dos, such as the lack of a public API, unimplemented eligibility visibility rules, and placeholder logos and icons.
Is it right for your project?
Use Cases
- As a demo template for a shooting club or controlled goods retail store
- To showcase assumptions and design direction for this niche
- As a starting point for developers customizing a store on the E-Com Plus platform
- For internal evaluation or demonstration, not for direct launch
Suitable For
- Shooting clubs or controlled goods retailers for demonstration or evaluation
- Developers familiar with the E-Com Plus platform
- Teams needing to customize a store template
- Merchants who understand the relevant laws and regulations and handle compliance processes themselves
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Run npm i to install dependencies, npm run dev to start the development server, npm run build to build
- 2
An E-Com Plus store must be configured via npm run setup, otherwise product display will be empty
- 3
To update the platform version, follow the steps in the README to upgrade @cloudcommerce/* dependencies
- 4
Replace placeholder content before use, such as settings files, images, extra pages and robots.txt
- 5
The README notes that eligibility queries and compliance integrations are not yet implemented and must be handled separately
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- The README mentions Firebase integration; before enabling related dynamic features, configure it yourself and check Firebase quotas and charges.
- Demo images, fonts, icons and other third-party assets must be checked against their respective licenses; the code's MIT license alone is not sufficient to determine this.
- External services such as domain, hosting, database, payment or AI may incur additional charges.
- The directory is remote data: when an E-Com Plus store is not configured via npm run setup, product display is empty and only the hero, banner and niche blocks render normally.
- The ERP for this niche (sistemaclubedetiro.com.br) has no publicly documented API for membership and inventory; progress requires negotiation with partners.
- The distinction between open display and controlled display is copy only: eligibility-based visibility rules are not yet implemented.
- Logos and icons are placeholder bitmaps; the display font planned in brands.ts (Fira Sans Extra Condensed) is not applied, and the font must be added and --font-brand set.
- Routes (/s/9x19, /p/produto-controlado, /p/retirada, etc.) only respond after the directory and corresponding pages exist.
- Replace placeholder content before launch: logos, icons and banners in functions/ssr/public/img/uploads/ (current photos are from Unsplash, credits in CREDITOS.md).
- functions/ssr/public/robots.txt currently blocks all crawling because this demo is noindex.
- Configure storeId and the Firebase project in functions/*/config.json (npm run setup).
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
O catálogo é remoto: sem uma loja E-Com Plus configurada (`npm run setup`), as
Original README
- **Não há API pública documentada do ERP do nicho** (sistemaclubedetiro.com.br)
Original README
- A separação vitrine aberta × controlada é copy: a regra de visibilidade por
Original README
- Logo e ícone são wordmarks placeholder rasterizados. A fonte display prevista
Original README
- As rotas (`/s/9x19`, `/p/produto-controlado`, `/p/retirada`…) só respondem
Original README
- `functions/ssr/public/img/uploads/` — logo, ícone e banners (as fotos atuais
Original README
- `functions/ssr/public/robots.txt` — hoje bloqueia tudo, porque a demo é
Original README
https://github.com/ecomplus/tema-raia/blob/main/LICENSEhttps://github.com/ecomplus/tema-raia/blob/main/README.md- `functions/*/config.json` — `storeId` e projeto Firebase (`npm run setup`)
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-13. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 85 / 100
- Technologies
- Astro · Vue
- Website type
- E-commerce
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-08-03
- Screenshot last checked
- 2026-10-13
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: codex-user-requested-batch-review-20261017 · 2026-10-16
Inspect the recorded source material
SHA-256: 947d7a624abbd209f47dff4466659fc8e752ea5ff8a963cd26ee84a83f52f9ee
2026-10-13T01:27:48.633Z
Source file / repository# Raia Commerce — loja demo do nicho de clubes de tiro Cópia do starter [`ecomplus/store`](https://github.com/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](https://www.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 ```bash 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`](https://github.com/ecomplus/store) — é subir a versão das dependências, exatamente como as lojas em produção fazem: a [tiasonia](https://www.tiasonia.com.br) 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`): ```bash # 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`](https://github.com/ecomplus/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.json` — `storeId` e projeto Firebase (`npm run setup`) > **Demo publicada:** [tema-raia.web.app](https://tema-raia.web.app) — `noindex`, com > catálogo compartilhado de demonstração. --- Documentação do starter: [SETUP.pt-BR.md](./SETUP.pt-BR.md) · [Cloud Commerce](https://github.com/ecomplus/cloud-commerce)
Explore similar templates
Compare previews and descriptions within the same stack and category.

astro-shopify
A lightweight Shopify headless ecommerce starter template built with Astro and Svelte, integrating the Shopify Storefront API for product and inventory data, with built-in cart state management and basic add-to-cart and checkout flow.
Astro · E-commerce

astro-ecommerce
Astro Ecommerce is a Creative Tim e-commerce Astro starter template under the MIT license, with 70+ coded elements, 30+ blocks, and landing, product, and shopping cart example pages.
Astro · E-commerce

astro-medusa-starter
An open-source e-commerce storefront starter built on Astro and Medusa v2, using a static-first architecture with React islands, multi-region routing, Stripe checkout, and Cloudflare Workers deployment.
Astro · E-commerce

sanity-astro-club
An Astro template for showcasing and selling digital works, with content managed through an extensible Sanity Studio and checkout sessions generated via the Polar API.
Astro · E-commerce

atelier-ko
Atelier Kō is a minimalist Astro ecommerce theme for small furniture workshops and craft catalogs with a limited body of work.
Astro · E-commerce

starter-astro
An Astro e-commerce storefront starter template that separates content from transactions: Markdown content collections manage pages, copy, and product images, generating static HTML at build time, while WireGum components handle live pricing, variants, cart, and Stripe Checkout.
Astro · E-commerce
