AstroVueE-commerce

tema-focinho — Astro Ecommerce Template

By ecomplus

A Cloud Commerce pet store theme from E-Com Plus, built with Astro and Vue, customized for subscription replenishment of dog and cat supplies, heavy-item shipping, and veterinary prescription scenarios.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-13View source

What stands out

A quick read of the recorded project description.

01

Cloud Commerce theme built with Astro and Vue; the repository is a thin shell, with storefront logic in @cloudcommerce/* dependency packages

02

Adds the NichoPetSection.astro pet block, offering filtering by animal profile, a packaging usage duration table, and a subscription entry point

03

settings.json presets a blue-orange color scheme, a 5% Pix discount, 3 interest-free installments, and free shipping over R$149

04

Homepage includes a two-screen hero, three product showcases, and a three-cell banner; extra-pages/ provides Portuguese contact, returns, and terms pages

05

The demo site is noindex, robots.txt blocks all crawling, and the brand name, logo, and domain are placeholders

Template Details

tema-focinho is a Cloud Commerce theme under the official E-Com Plus organization, built with Astro and Vue and aimed at dog and cat pet supply retail. It was copied and themed from the generic starter ecomplus/store; the repository itself is a thin shell: storefront components and shop logic live in @cloudcommerce/* dependency packages, and this repository keeps only the theme-specific parts such as functions/ssr/src/, functions/ssr/content/, and functions/ssr/public/.

The theme's customization centers on pet replenishment scenarios. The homepage includes a two-screen hero, three product showcases, a three-cell banner, and an added NichoPetSection.astro block that provides filtering by animal profile, a packaging usage duration table, heavy-item shipping/prescription/food transition tips, and a subscription entry point. settings.json configures a blue-orange color scheme, a 5% Pix discount, 3 interest-free installments, and free shipping over R$149; tailwind.config.js uses a blue-gray neutral scale and larger border radii; extra-pages/ provides Portuguese-language contact, returns, and terms pages.

The README explicitly states that this theme is a market hypothesis rather than validated by existing customers: among nine niche themes, only the pet one has no real customer case, and the brand name, logo, and domain are placeholders. Known limitations include: the packaging usage duration table is a static mockup that performs no calculations and does not read product labels; the veterinary prescription flow is copy only, with no upload or validation; routes such as /s/cao-filhote and /assine only respond once the corresponding categories exist in the catalog; robots.txt currently blocks all crawling because the demo site is noindex.

The catalog is remote data; without a configured E-Com Plus store, product showcases are empty, while the hero, banner, and pet block still render normally. The repository uses the MIT license, so this version's code may be used, modified, commercially used, and distributed for free, but demo images come from third-party sources such as Unsplash and require separate license verification, and external services such as Firebase may incur costs.

AstroVueE-commerce

Is it right for your project?

Use Cases

  • Building a Brazilian Portuguese pet e-commerce storefront for dog and cat supplies
  • Designing product display and homepage structure around subscription-based replenishment
  • Pet retail scenarios that need to present heavy-item shipping, veterinary prescriptions, and food transition tips
  • As a starting point for secondary development of an E-Com Plus Cloud Commerce theme

Suitable For

  • Developers using the E-Com Plus / Cloud Commerce platform who need a pet niche theme
  • Pet supply merchants who want subscription-based replenishment as a main selling point
  • Front-end teams that need a Portuguese pet store front-end template and want to customize it

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Run npm i to install dependencies, npm run dev to start local development (default http://localhost:3000), and npm run build to build

  2. 2

    The catalog is remote data; configure an E-Com Plus store via npm run setup, otherwise product showcases will be empty

  3. 3

    Before launch, replace the name, domain, logo, and colors in settings.json, as well as placeholder images in public/img/uploads/ and the content of extra-pages/ pages

  4. 4

    robots.txt currently blocks all crawling; adjust as needed before an official release

  5. 5

    When updating the platform version, bump @cloudcommerce/* dependency versions together and run npm run build to verify, rather than merging with the starter

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version in the public repository under the MIT license; the free scope is this version's code and does not mean external services or third-party assets are free.

Must comply with when using

  • This version's code may be used, modified, commercially used, and distributed for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete 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 under their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur separate charges.
  • The product catalog is remote data; an E-Com Plus store must be configured (npm run setup) to display product showcases, otherwise the showcases are empty.
  • Routes such as /s/cao-filhote and /assine only respond once the corresponding categories exist in the catalog; otherwise they are unavailable.
  • The packaging usage duration table is a static mockup; it performs no calculations and does not read product label data.
  • The veterinary prescription flow is copy only, with no file upload or validation functionality.
  • The logo and icons are placeholder bitmap wordmarks and must be replaced before launch.
  • robots.txt currently blocks all crawling because the demo site is noindex; adjust before an official release.
  • Banner images come from Unsplash and require separate verification of third-party asset licenses according to CREDITOS.md.
  • storeId and a Firebase project must be configured (npm run setup); involving external services may incur costs.
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 vitrines de produto vêm vazias

Original README

As rotas (`/s/cao-filhote`, `/assine`…) só respondem depois que o catálogo tiver as categorias correspondentes.

Original README

**A tabela de duração é maquete estática.** Não calcula nada e não vem do rótulo do produto.

Original README

**O fluxo de receita veterinária é copy.** Não há upload nem validação de documento.

Original README

Logo e ícone são wordmarks placeholder rasterizados.

Original README

`functions/ssr/public/robots.txt` — hoje bloqueia tudo, porque a demo é `noindex`

Original README

Banners do Unsplash; imagens do starter removidas. Créditos em `CREDITOS.md`

Original README

`functions/*/config.json` — `storeId` e projeto Firebase (`npm run setup`)

Original README
https://github.com/ecomplus/tema-focinho/blob/main/LICENSEhttps://github.com/ecomplus/tema-focinho/blob/main/README.md

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-20261015 · 2026-10-15

Inspect the recorded source material

SHA-256: 89d197a495138f0ca013c7bb8c7fcfee59bc71f58afce082f791541db7746daf

2026-10-13T01:27:22.415Z

Source file / repository
# Focinho — loja demo do nicho pet

Cópia do starter [`ecomplus/store`](https://github.com/ecomplus/store)
tematizada para **cães e gatos**. Pet é a categoria de maior crescimento do
e-commerce brasileiro (~38%) e casa quase perfeitamente com recursos que a
plataforma já tem: assinatura, multi CD e fidelidade.

## ⚠️ Esta é a única das nove sem prova interna

Todas as outras variantes ancoram em cliente real da base:

| Nicho | Prova na base |
|---|---|
| Alimentício | Tia Sônia, BarraDoce, Festpan |
| Beleza | Help Perfumaria, Vênus Nails |
| Moda | Don't Quest, Lado Fit, Lua Cheia |
| Casa | Conexão Home, Conexão Office, Para la Casa |
| Construção | Atlas Parafusos, Desicon, Disfoil |
| Eletrônicos | Aolar, Eletrogel, Quality Áudio |
| Suplementos | Suplementos RP, Grãos da Vida |
| **Pet** | **nenhuma** |

**Isso é aposta de mercado, não de prova.** Em call de venda não há case do
nicho para mostrar — o argumento tem que se apoiar em recurso (assinatura,
multi CD) e em cases de outros nichos com dor parecida. Vale saber disso antes
de levar a demo para um prospect.

> Este nicho também não existe no site institucional: não há marca em
> `src/config/brands.ts` nem página em `/segmentos/`. Nome, logo e domínio são
> placeholders.

## O eixo: assinatura de ração

Ração é o **caso canônico de reposição programada** — consumo previsível (peso
do animal × gramas/dia), embalagem grande, recompra mensal. O bloco de "quanto
tempo dura o saco" é o que transforma assinatura de desconto em utilidade: a
pergunta do tutor não é quanto custa, é quando acaba.

Em volta disso, três dores que só existem aqui:

1. **Item pesado** — saco de 15 kg não é frete comum; é caso de multi CD.
2. **Prescrição veterinária** — dieta terapêutica e medicamento exigem receita,
   e a loja não pode fingir que não. Mesmo tratamento dado ao produto
   controlado na variante de clubes de tiro.
3. **Transição de ração** — mudança brusca faz mal ao animal, então o pedido
   sugere proporção de mistura em vez de só entregar o saco novo.

## 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 + `secondaryColor` laranja, 5% no Pix, 3x sem juros, frete grátis a partir de R$ 149 |
| `functions/ssr/tailwind.config.js` | Escala neutra azul-acinzentada, canto bem arredondado |
| `functions/ssr/content/layout.json` | Pitch bar (assinatura, frete, Pix), listas do rodapé, `ogImage` |
| `functions/ssr/content/pages/home.json` | Hero de 2 slides, 3 vitrines, grade de 3 banners e a seção de nicho |
| `functions/ssr/src/sections/NichoPetSection.astro` | **Novo.** Filtro por perfil do animal, tabela de duração da embalagem, cuidados (frete pesado, receita, transição) e chamada de assinatura |
| `functions/ssr/src/sections/_Sections.astro` | Registro da seção `c:nicho-pet` |
| `functions/ssr/content/extra-pages/` | Contato, trocas (saco violado, pet não aceitou, medicamento) e termos em PT-BR |
| `functions/ssr/public/img/uploads/` | Banners do Unsplash; imagens do starter removidas. Créditos em `CREDITOS.md` |

## Por que azul e laranja

É o par que o varejo pet brasileiro já usa — reconhecível de longe, não exige
explicação. É deliberadamente a variante mais alegre das nove: aqui a compra é
afetiva, não técnica.

## Por que a seção de nicho é um componente, e não HTML no CMS

O UnoCSS/Tailwind desta stack varre apenas `./src/**` — classe utilitária
escrita dentro de `content/pages/*.json` (seção `custom-html`) não gera CSS. Por
isso a vitrine do nicho é um `.astro` em `src/sections/`, registrado pela
convenção `c:` que o `_Sections.astro` já previa.

## 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

- **A tabela de duração é maquete estática.** Não calcula nada e não vem do
  rótulo do produto. A conta real varia por marca, fórmula e animal.
- **O fluxo de receita veterinária é copy.** Não há upload nem validação de
  documento. Se a hipótese avançar, é o primeiro item a especificar.
- Logo e ícone são wordmarks placeholder rasterizados.
- As rotas (`/s/cao-filhote`, `/assine`…) só respondem depois que o catálogo
  tiver as categorias correspondentes.

## 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-focinho.web.app](https://tema-focinho.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)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.