AstroE-commerceStarter

kujera-furniture-starter — Astro Ecommerce Template

By faruqso

An Astro-based furniture e-commerce storefront starter template that uses design tokens and Decap CMS to manage content, including product listings, detail pages, and a localStorage-based demo cart.

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-02View source

What stands out

A quick read of the recorded project description.

01

Astro static generation: public pages are pre-rendered HTML, while interactions like the cart are implemented as Preact islands

02

CSS design tokens are centralized in tokens.css, allowing colors, fonts, spacing, and shadows to be replaced wholesale

03

Decap CMS manages pages, products, and collections via Git, with the admin entry at /admin

04

Provides product listing, product detail, and a localStorage-based demo cart

05

Page sections are composable, including Hero, Best Selling, Testimonials, About gallery, and more

06

Brand name, navigation, footer, SEO, and currency are configured centrally in settings.json

Template Details

This is an open-source storefront starter template for furniture e-commerce, built with Astro to generate static pages and using Decap CMS for Git-based content management. The repository provides product collections, a product listing page (PLP), a product detail page (PDP), and a demo cart that persists state in localStorage. The cart drawer is implemented as a Preact island, while the remaining pages are pre-rendered static HTML.

The design system is driven by CSS design tokens in src/styles/tokens.css, where colors, fonts, spacing, and shadows are centralized. Site-level configuration such as brand name, navigation, footer, SEO, and currency is located in src/content/site/settings.json. Page sections are provided as composable components, including Hero, Why Choosing Us, Best Selling, Testimonials, and About gallery.

Content is organized by type in directories: pages as Markdown, products and collections as JSON, and site settings as JSON. The CMS admin is at /admin, and the repository includes Decap collection schemas and a local backend script. You must connect your own fork according to docs/decap-setup.md before content can be saved. The template does not include real payment, inventory, or order systems; the cart is for demonstration only.

AstroE-commerceStarter

Is it right for your project?

Use Cases

  • Building a static showcase site for a furniture or home goods e-commerce storefront
  • Quickly replacing brand visuals and typography based on design tokens
  • Using Decap CMS to let non-technical editors maintain product and page content
  • Serving as a reference project for a hybrid architecture of Astro static sites and Preact islands

Suitable For

  • Developers who need a furniture e-commerce storefront starting point and are willing to integrate payment and backend themselves
  • Teams that want to manage product and page content with a Git-based CMS
  • Frontend projects that want to control the site's visual style uniformly through design tokens
  • Developers who primarily use Astro and accept a static generation approach

Getting started & customization

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

  1. 1

    After cloning the repository, run npm install and npm run dev; the development server runs on port 4321 by default

  2. 2

    Modify brand and site information in src/styles/tokens.css and src/content/site/settings.json

  3. 3

    The /admin backend requires connecting your own fork according to docs/decap-setup.md; to save content locally, run npm run cms

  4. 4

    When deploying to Vercel, set SITE_URL to the production domain for canonical and OG tags

  5. 5

    Third-party assets such as demo images, fonts, and icons must be checked individually against their respective licenses

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This 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 imply that external services or third-party assets are free.

Must comply with when using

  • You are allowed to 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 CMS admin at /admin cannot save content by default; you must first connect your own fork according to docs/decap-setup.md and complete configuration. To save content locally, you also need to run npm run cms to start the Decap local backend.
  • When using the CMS to save content locally, you must additionally run the npm run cms command to start the Decap local backend; otherwise /admin can only be browsed and cannot save.
  • When deploying to platforms such as Vercel, you must set the environment variable SITE_URL to the production domain yourself; otherwise canonical and OG tags will not point to the correct address.
  • The cart is only a demo implementation based on localStorage and does not include real payment, inventory, or order systems; it cannot be used directly for actual transactions.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; you cannot judge based solely on the code's MIT license.
  • External services such as domains, hosting, databases, payment, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

fork + setup to enable saves (see [Decap setup](docs/decap-setup.md))

Original README

run `npm run cms` locally for saves

Original README

Set `SITE_URL` to your production domain for canonical and OG tags.

Original README

a demo cart with localStorage

Original README
https://github.com/faruqso/kujera-furniture-starter/blob/main/LICENSEhttps://github.com/faruqso/kujera-furniture-starter/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. 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
Website type
E-commerce · Starter
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-06-30
Screenshot last checked
2026-10-02

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.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 6fb32faee6de66b9b54c1a5f72ff10cce55357cf857855542280ed3a7e1cc91b

2026-10-02T19:48:49.252Z

Source file / repository
# Kujera Furniture Starter

An open-source furniture ecommerce starter built with **Astro**, **Decap CMS**, and a **token-driven design system**. Fork it, rebrand it, and launch your own storefront in minutes.

**Live demo:** [kujera-furniture-starter.vercel.app](https://kujera-furniture-starter.vercel.app)

## Features

- **CMS-driven pages** — browse the admin demo at `/admin`; fork + setup to enable saves (see [Decap setup](docs/decap-setup.md))
- **Product catalog** — collections, PLP, PDP, and a demo cart with localStorage
- **Design system** — rebrand the entire site by editing `src/styles/tokens.css`
- **Composable sections** — Hero, Why Choosing Us, Best Selling, Testimonials, About gallery, and more
- **Fully static** — fast pre-rendered HTML; Preact only for cart and small islands

## Quick start

```bash
git clone https://github.com/faruqso/kujera-furniture-starter.git
cd kujera-furniture-starter
npm install
npm run dev
```

- **Site:** [http://localhost:4321](http://localhost:4321)
- **Design system:** [http://localhost:4321/design-system](http://localhost:4321/design-system)
- **CMS admin:** [http://localhost:4321/admin](http://localhost:4321/admin) — see [Decap setup](docs/decap-setup.md) to connect your fork; run `npm run cms` locally for saves

## Rebrand in 2 files

| File | What it controls |
|------|------------------|
| `src/styles/tokens.css` | Colors, typography, spacing, shadows |
| `src/content/site/settings.json` | Brand name, nav, footer, SEO, currency |

See [docs/customization.md](docs/customization.md) for the full guide.

## Content

| Type | Location |
|------|----------|
| Site settings | `src/content/site/settings.json` |
| Pages | `src/content/pages/{slug}.md` |
| Products | `src/content/products/{slug}.json` |
| Collections | `src/content/collections/{slug}.json` |

## Scripts

| Command | Description |
|---------|-------------|
| `npm run dev` | Start dev server |
| `npm run build` | Build static site to `dist/` |
| `npm run preview` | Preview production build |
| `npm run cms` | Decap local backend for `/admin` saves |

## Tech stack

- [Astro 7](https://astro.build) — static site generator
- [Decap CMS](https://decapcms.org) — git-based CMS
- [Preact](https://preactjs.com) — cart drawer island
- CSS design tokens — no UI framework on the public site

## Project structure

```
src/
├── components/
│   ├── sections/       # Composable page blocks
│   ├── commerce/       # Shop, product detail, cart
│   └── ui/             # Button, Badge, PillTabs, …
├── content/            # Pages, products, site settings
├── cms/                # Decap collection schemas (config at /admin/config.yml)
├── styles/tokens.css   # Design tokens (rebrand here)
└── pages/              # Routes + catch-all shop router
docs/
├── customization.md
└── decap-setup.md
```

## Deploy

Import the repo on [Vercel](https://vercel.com/new). Astro is auto-detected. Set `SITE_URL` to your production domain for canonical and OG tags.

## License

MIT — see [LICENSE](LICENSE). Use freely for personal and commercial projects.

## Security

See [SECURITY.md](SECURITY.md) to report vulnerabilities privately.

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md). Use the [issue templates](https://github.com/faruqso/kujera-furniture-starter/issues/new/choose) for bugs and feature requests.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.