Cloud Commerce store theme built on Astro and Vue, aimed at the supplements and sports nutrition category
tema-dose — Astro Ecommerce Template
By ecomplus
A Cloud Commerce e-commerce theme for the Brazilian health and sports nutrition category, built on Astro and Vue, offering goal-based navigation, cost-per-serving comparison, and subscription modules, with built-in Anvisa compliance notices.
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.
Adds the NichoSuplementosSection.astro category component, including goal-based navigation, cost-per-serving comparison, open labels, and a subscription entry point
Homepage configures a dual-slide hero, three product showcases, a three-banner grid, and a category section
Built-in Anvisa regulatory notices, with copy framed as "supports daily routine" rather than "treats disease"; notices appear in visible page areas
Uses an indigo-purple primary color with a life green secondary color, distinct from the black-and-yellow style common in the fitness category
Provides additional Portuguese pages such as contact, returns, and terms; the returns page covers scenarios such as seals and taste
Template Details
tema-dose is a Cloud Commerce store theme from E-Com Plus, positioned as a demo storefront for the supplements and sports nutrition category. It is a themed adaptation of the ecomplus/store starter template, reusing existing structures from the food category (repurchase, shelf life, batch) and the beauty category (goal-based navigation, subscription), and adds an Astro component as a category showcase section.
The theme configures a dual-slide hero, three product showcases, a three-banner grid, and a supplement category section on the homepage; the category section includes goal-based navigation, cost-per-serving comparison, open labels, a subscription entry point, and regulatory notices. The layout layer adds a footer with a "goals" list and promotional bars (cost per serving, shipping, subscription). The color scheme uses indigo-purple as the primary color and life green as the secondary color, replacing the black-and-yellow palette common in the fitness category.
Note that this category does not yet appear on the official site; the brand name, logo, and domain are placeholders; the cost-per-serving table is a static illustration and does not come from product data; the logo and icons are placeholder bitmaps; some routes are accessible only after the corresponding category exists in the catalog. The demo site is noindex, and robots.txt blocks crawling by default.
Is it right for your project?
Use Cases
- Build an e-commerce storefront demo for the supplements or sports nutrition category
- Validate a category structure that organizes product navigation by goal (e.g., sleep, immunity, focus)
- Show cost-per-serving comparison in product showcases as a differentiating selling point
- Build a storefront front end for subscription-based or repeat-purchase health categories
- Use as a starting point for secondary development of a Cloud Commerce theme, replacing placeholder branding and assets
Suitable For
- E-commerce operators in the supplements, sports nutrition, and health categories
- Stores that need to organize product navigation by goal rather than by ingredient
- Health-focused merchants who want to include regulatory compliance notices in the front end
- Developers using E-Com Plus Cloud Commerce who need an Astro theme
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 local service, and npm run build to build
- 2
The product catalog is remote data; configure an E-Com Plus store via npm run setup, otherwise product showcases will be empty
- 3
Before launch, replace the name, domain, logo, color scheme, and contact information in settings.json
- 4
Replace the logo, icons, and banners under public/img/uploads/; current images are from Unsplash, with attribution in CREDITOS.md
- 5
robots.txt currently blocks all crawling because the demo site is noindex; adjust before going live
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version in the public repository under the MIT license; the free scope is the code of that version and does not mean external services or third-party assets are free.
Must comply with when using
- You may use, modify, commercialize, and distribute the code of this version for free.
- 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; configure it yourself before enabling related dynamic features, 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 separate charges.
- The product catalog is remote data; you must configure an E-Com Plus store (npm run setup) to display product showcases, otherwise the showcases will be empty.
- Some routes (e.g., /s/massa, /assine) respond only after the corresponding category exists in the catalog.
- The cost-per-serving comparison table is a static illustration and does not come from product data, so it cannot perform real calculations.
- The logo and icons are placeholder bitmaps and must be replaced before launch.
- robots.txt currently blocks all crawling because the demo site is noindex; adjust before going live.
- The current banner photos are from Unsplash; attribution must follow CREDITOS.md, and you must verify the asset licenses yourself.
- Compliance copy review must cover the entire site, not only pages with notices.
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/massa`, `/assine`…) só respondem depois que o catálogo tiver as categorias correspondentes.
Original README
**A tabela de custo por dose é maquete estática.** Não vem do cadastro.
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
as fotos atuais vêm do Unsplash; créditos em `CREDITOS.md`
Original README
https://github.com/ecomplus/tema-dose/blob/main/LICENSEhttps://github.com/ecomplus/tema-dose/blob/main/README.mdA revisão regulatória da copy precisa cobrir o site inteiro, não só as páginas com aviso
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: [email protected] · 2026-10-13
Inspect the recorded source material
SHA-256: b44efc2dc0b222d634f7876bc8575f67e2976a00291619797a823117e6a13d90
2026-10-13T01:26:02.794Z
Source file / repository# Dose — loja demo do nicho de saúde e suplementos
Cópia do starter [`ecomplus/store`](https://github.com/ecomplus/store)
tematizada para **suplementação e bem-estar**. Saúde é a 3ª categoria em volume
do e-commerce brasileiro e cresceu ~19%.
> **Este nicho ainda não existe no site institucional.** Não há marca em
> `src/config/brands.ts` nem página em `/segmentos/`. O posicionamento foi
> **proposto**, não portado. Nome, logo e domínio são placeholders.
## É o nicho de menor esforço marginal do conjunto
Reaproveita quase inteiro o que já foi construído em **alimentício** (recompra
previsível, restrição, validade, lote) e em **beleza** (navegação por objetivo,
assinatura). Se a ideia é validar mais um vertical gastando pouco, é por aqui.
Lojas do setor já na base: **Suplementos Ribeirão Preto**, **Grãos da Vida**,
**Cogumelaria BH** (cogumelos funcionais), **Blow Gummies** (gummies
capilares), **Maia Work** (jalecos e scrubs, na ponta profissional).
## ⚠️ Guardrail regulatório — ler antes de editar a copy
**Suplemento alimentar não é medicamento.** Pela regulação da Anvisa não se
pode atribuir a suplemento propriedade de tratar, curar ou prevenir doença.
Toda a copy desta variante descreve **objetivo** ("apoiar a rotina de sono") e
nunca **efeito terapêutico** ("trata insônia"). O aviso aparece **visível na
página**, no fim da seção de nicho e na página de trocas — não só em comentário
de código.
Regra prática ao editar: se a frase prometeria resultado clínico, ela não
entra. Sem exceção, mesmo que o concorrente faça. É a diferença entre uma demo
que o lojista pode usar e uma que cria passivo para ele.
## O diferencial de vitrine: custo por dose
É a única métrica que permite comparar potes de tamanhos e concentrações
diferentes — e quase nenhuma loja do nicho mostra, porque na maioria das vezes
ela não favorece o vendedor. Colocá-la na vitrine é a aposta de posicionamento
desta variante.
## 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` índigo-violeta + `secondaryColor` verde-vital, 5% no Pix, 6x sem juros, frete grátis a partir de R$ 199 |
| `functions/ssr/tailwind.config.js` | Escala neutra levemente violeta, canto médio |
| `functions/ssr/content/layout.json` | Pitch bar (custo por dose, frete, assinatura), rodapé com lista de "Objetivos", `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/NichoSuplementosSection.astro` | **Novo.** Navegação por objetivo, comparativo de custo por dose, rótulo aberto, assinatura e o aviso regulatório |
| `functions/ssr/src/sections/_Sections.astro` | Registro da seção `c:nicho-suplementos` |
| `functions/ssr/content/extra-pages/` | Contato, trocas (lacre, "não me caiu bem", sabor não é defeito) e termos em PT-BR |
| `functions/ssr/public/img/uploads/` | Banners do Unsplash; imagens do starter removidas. Créditos em `CREDITOS.md` |
## Por que violeta e não preto-e-amarelo
Suplemento no Brasil costuma vestir preto-e-amarelo agressivo de academia — e
isso afasta metade do público. Sono, imunidade e foco não vendem com estética
de hipertrofia. O violeta puxa para recuperação e bem-estar; o verde marca o
dado positivo (custo por dose, economia).
## 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 custo por dose é maquete estática.** Não vem do cadastro.
Calcular de verdade depende de dose e porções estarem cadastradas como
especificação de produto — é o primeiro item a especificar se a hipótese
avançar, porque é o diferencial inteiro da variante.
- Logo e ícone são wordmarks placeholder rasterizados.
- As rotas (`/s/massa`, `/assine`…) só respondem depois que o catálogo tiver as
categorias correspondentes.
- A revisão regulatória da copy precisa cobrir o site inteiro, não só as
páginas com aviso — está anotado em `terms.md`.
## 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-dose.web.app](https://tema-dose.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
