ReactE-commerceStarter

tanstack-starter-vendure — React Ecommerce Template

By vendurehq

Vendure's official TanStack Start storefront starter, providing a complete e-commerce frontend flow and an upgradable source structure.

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

Covers account flows such as registration email verification, login sessions, password reset and change, and email change verification

02

Includes profile, address add/update/remove and default address, paginated order history, and order details

03

On the product side, supports collections and recommended products, variants and galleries, full-text search and faceted filtering, and pagination and sorting

04

The cart supports add/update/remove quantities, promo codes, and real-time totals; checkout is a multi-step flow of address, delivery, payment, and confirmation

05

Provides English and German via Paraglide, and supports multiple currencies and persistent currency selection

06

Source code is divided into modules such as routes, features, platform, and site, and provides an upstream upgrade workflow based on version tags

Template Details

This is the official TanStack Start storefront starter released by Vendure, used to build a frontend store for a Vendure headless e-commerce backend. The project covers the complete path from browsing to ordering: product collections and details, variants and galleries, full-text search and faceted filtering, pagination and sorting, cart add/update/remove and promo codes, and a multi-step checkout flow including shipping address, delivery method, payment, and confirmation. On the account side, it includes registration and email verification, login/logout and session management, password reset and change, email change verification, profile and address management, order history, and order details. Internationalization is implemented via Paraglide, with English and German provided by default, and it supports multiple currencies and persistent currency selection, with prices formatted by region.

Code organization is divided by responsibility: routes handles routing and data orchestration, config stores store-level configuration, features carries vertical business capabilities, platform handles TanStack Start, localization, caching, and Vendure integration, site handles store composition, navigation, and branding, and components/ui provides general design primitives. The README requires keeping route files lean and placing main behavior in the corresponding modules.

For upgrades, the project provides version tags with structured integration intent. Through upgrade:init it records the source, and upgrade:prepare generates an integration workspace containing old and new upstream snapshots and a report template, used for manual or coding-agent merging of upstream changes without overwriting local customizations.

The prerequisite is an already running Vendure server with the Shop API exposed, and environment variables such as VENDURE_SHOP_API_URL need to be configured. The repository uses the MIT license, and the free scope is the code of this version; third-party assets such as demo images, fonts, and icons, as well as external services such as domains, hosting, databases, and payments, require separate verification of licensing or fees.

ReactE-commerceStarter

Is it right for your project?

Use Cases

  • Build a customizable multilingual, multi-currency frontend store for an existing Vendure backend
  • Develop e-commerce frontend features such as accounts, cart, and checkout on top of the starter
  • Store projects that need to follow Vendure upstream updates over the long term while preserving local customizations
  • Serve as a reference implementation for learning TanStack Start and Vendure Shop API integration

Suitable For

  • Developers who have already deployed a Vendure server and exposed the Shop API
  • E-commerce frontend teams that need source code ownership and the ability to modify it themselves
  • Projects focused on multilingual, multi-currency, and upgradable workflows

Getting started & customization

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

  1. 1

    First prepare a running Vendure server and expose the Shop API

  2. 2

    Copy .env.example to .env, and point VENDURE_SHOP_API_URL to that API

  3. 3

    Run npm install, npm run generate, and npm run dev in sequence; by default access http://localhost:3000

  4. 4

    Storefront paths are /en and /de; the root path redirects to the preferred supported language

  5. 5

    The environment template also records optional settings such as channel, metadata, authentication headers, and cache revalidation

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

Must comply with when using

  • Permits free use, modification, commercial use, and distribution of the code of this version.
  • 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

  • Prerequisite: you must deploy and run a Vendure server with the Shop API exposed yourself; this repository only provides the frontend store and does not include backend services.
  • The environment variable VENDURE_SHOP_API_URL must be configured to point to an external Vendure Shop API, which is an external service dependency.
  • The checkout payment step requires integration with an external payment service, which may involve third-party accounts, API keys, and fees that you must verify yourself.
  • Demo images, fonts, icons, and other third-party assets must be checked against 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 additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

You need a running Vendure server with its Shop API available.

Original README

Copy the example environment, point `VENDURE_SHOP_API_URL` at that API

Original README

Payment integration

Original README
https://github.com/vendurehq/tanstack-starter-vendure/blob/main/LICENSEhttps://github.com/vendurehq/tanstack-starter-vendure/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 · 88 / 100
Technologies
React
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-08-27
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 React 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: 2bd5e3173bf3fda86c451d3720ac5ca623259557e3453064d03f9718cf99f00f

2026-10-02T07:34:48.594Z

Source file / repository
<p align="center">
  <a href="https://vendure.io">
    <img alt="Vendure logo" height="60" width="auto" src="https://a.storyblok.com/f/328257/699x480/8dbb4c7a3c/logo-icon.png/m/0x80">
  </a>
</p>
<h1 align="center">
  Vendure TanStack Start Storefront Starter
</h1>
<h3 align="center">
  A TanStack Start storefront starter for Vendure headless commerce
</h3>
<p align="center">
  A source-owned, customizable storefront with a managed path for adopting upstream releases.
</p>
<h4 align="center">
  <a href="https://tanstack.vendure.io">Demo</a> |
  <a href="https://docs.vendure.io">Documentation</a> |
  <a href="https://vendure.io">Website</a>
</h4>

## Features

**Authentication & Accounts**

- Customer registration with email verification
- Login/logout with session management
- Password reset & change password
- Email address updates with verification

**Customer Account**

- Profile management (name, email, password)
- Address management (create, update, delete, set default)
- Order history with pagination & detailed order views

**Product Browsing**

- Collections & featured products
- Product detail pages with variants & galleries
- Full-text search with faceted filtering
- Pagination & sorting

**Shopping Cart**

- Add/remove items, adjust quantities
- Promotion code support
- Real-time cart updates with totals

**Checkout**

- Multi-step flow: shipping address, delivery method, payment, review
- Saved address selection
- Shipping method selection
- Payment integration

**Order Management**

- Order confirmation page
- Order tracking with status
- Detailed order information

**Internationalization**

- Multi-language support via Paraglide (English & German out of the box)
- Multi-currency support with persistent currency selection
- Locale-aware price formatting

**Built to Customize and Upgrade**

- Developer-owned source with no locked or generated application layer
- Feature-oriented modules with enforced dependency boundaries
- Colocated GraphQL operations and translations
- Structured release manifests for reconciling upstream changes with local customizations

## Getting Started

You need a running Vendure server with its Shop API available. Copy the example environment, point `VENDURE_SHOP_API_URL` at that API, install dependencies, generate derived files, and start the storefront:

```bash
cp .env.example .env
npm install
npm run generate
npm run dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. The storefront is available at `/en` and `/de`, and `/` redirects to the preferred supported locale.

The environment template also documents optional channel, metadata, authentication header, and cache revalidation settings.

## Architecture

Every human-authored storefront file is yours to change. The source is organized to keep those changes local and make future upgrades easier to reconcile:

```text
src/
  routes/        TanStack Router route definitions and data orchestration
  config/        Store-wide configuration
  features/      Vertical commerce capabilities
  platform/      TanStack Start, localization, caching, and Vendure integrations
  site/          Store-specific composition, navigation, and branding
  components/ui  Generic design primitives
```

Keep `src/routes` files thin and put substantial behavior in the module that owns it. A feature exposes other modules through top-level files; its `components/` and `routes/` directories are private implementation details.

Read the [architecture guide](./docs/architecture.md) before adding a capability.

## Upgrading

Tagged releases include structured integration intent so a human or coding agent can adopt upstream changes without silently overwriting storefront customizations.

After creating a storefront from an immutable release tag, record its exact upstream provenance once:

```bash
npm run upgrade:init
git add .vendure/storefront.json
git commit -m "chore: initialize storefront provenance"
```

To prepare a later upgrade on a clean, dedicated branch:

```bash
npm run upgrade:prepare -- 1.1.0
```

The command creates a gitignored integration workspace containing the old and new upstream snapshots, release guidance, and a report template. Reconcile the changes, then follow the generated brief to verify and finalize the upgrade.

See the [upgrade guide](./docs/upgrades.md) for the complete managed upgrade, legacy onboarding, and release-authoring workflows.

## Development

Run the same checks used by CI before submitting a change:

```bash
npm run upgrade:validate
npm test
npm run test:e2e
npm run lint
npm run check-types
npm run build
```

Downstream-impacting pull requests require an upgrade note or an explicit exemption. See [CONTRIBUTING.md](./CONTRIBUTING.md) for the contribution workflow.

## Commands

```bash
npm run generate       # Generate Paraglide messages
npm run check-types    # Run generation and TypeScript checks
npm test               # Run architecture, i18n, cache, and upgrade tests
npm run test:e2e       # Run Playwright end-to-end tests
npm run lint           # Run Biome lint
npm run build          # Create a production Nitro build
```

TanStack Start generates `src/routeTree.gen.ts` through its Vite plugin during
development and production builds. The committed file lets type checks run
without a second route generator that can drift from TanStack Start.

Run the production server with `node .output/server/index.mjs`.

## Learn More

To learn more about TanStack Start and Vendure, take a look at the following resources:

- [TanStack Start Documentation](https://tanstack.com/start/latest/docs/framework/react/overview) - learn about TanStack Start features and APIs.
- [TanStack Router Documentation](https://tanstack.com/router/latest/docs/framework/react/overview) - learn about type-safe routing and data loading.
- [Vendure Documentation](https://docs.vendure.io) - learn about Vendure and its Shop API.

You can check out the [TanStack Start GitHub repository](https://github.com/TanStack/router/tree/main/packages/react-start) and the [Vendure GitHub repository](https://github.com/vendure-ecommerce/vendure). Feedback and contributions are welcome!
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

ant-design-pro

ant-design-pro

Ant Design Pro is an enterprise-grade React admin scaffold built on React 19, Umi Max 4, and antd 6 with TypeScript.

React · Admin dashboard

react-boilerplate

react-boilerplate

A production-grade React + Redux starter for experienced developers, integrating Redux, redux-saga, styled-components, and react-router, with offline-first and PWA support, CLI code generation, and built-in testing and CI configuration. Requires Node.js v8.15.1 and npm v5 or higher; not suitable for beginners.

React · Starter

fastapi-react

fastapi-react

A Cookiecutter template for FastAPI + React (TypeScript) full-stack projects, integrating PostgreSQL, SQLAlchemy, Alembic, Celery, Redis, JWT authentication, a react-admin admin panel, and a Docker Compose development environment with Nginx reverse proxy.

React · Admin dashboard

shadcn-landing-page

shadcn-landing-page

A free React landing page template built with TypeScript, Tailwind and Shadcn/UI, offering 16 ready-to-use sections such as Navbar, Hero, Pricing, FAQ and Footer, with responsive layout, dark mode and meta tags.

React · Corporate Website

start-ui-web

start-ui-web

Start UI [web] is an opinionated full-stack starter from the BearStudio team, built on Node.js, TypeScript, React, and TanStack Start, with Tailwind CSS, shadcn/ui, React Hook Form, oRPC, Prisma, and Better Auth.

React · Starter

React-Landing-Page-Template

React-Landing-Page-Template

A React single-page landing page template for startups and service businesses, with copy and image references centralized in data.json, assets in public/img/, styles in public/css/, and a contact form that requires your own EmailJS service ID, template ID, and Public Key.

React · Corporate Website