响应式布局,包含粘性页头、公告栏、大型菜单和移动端导航抽屉
aura-storefront — Vite 电商模板
作者 Giogfr
基于 React 19、TypeScript、Vite 和 Tailwind CSS v4 的电商店面前端模板,包含商品浏览、筛选、购物车、愿望清单和模拟结账流程,无后端与真实支付。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
商品目录支持分面筛选(分类、价格、库存、颜色、尺码)、排序、网格密度调整和加载更多
商品详情页提供图片画廊、变体选择、数量步进器、规格手风琴、尺码指南和相关商品
滑出式购物车与愿望清单,支持数量管理、交叉销售、免运费进度和促销码
多步骤模拟结账,包含信息、配送、支付步骤,字段验证和订单确认页
导航与 URL 查询字符串同步,支持深链接和浏览器历史导航
模板详细介绍
AURA 是一个前端电商店面模板,使用 React 19、TypeScript、Vite 和 Tailwind CSS v4 构建。它提供响应式商品网格、分面筛选、商品详情页、滑出式购物车、愿望清单、快速查看、搜索以及多步骤模拟结账流程。导航状态与 URL 查询字符串同步,支持深链接和浏览器前进/后退。购物车与愿望清单持久化到 localStorage,并在加载时校验数据。模板不包含后端、数据库、支付或邮件服务,结账、账户、订单、评论和订阅均为客户端模拟。README 明确说明这是前端模板而非可运营商店,使用前需替换模拟逻辑并更新占位法律文本。
适合你的项目吗?
适用场景
- 需要快速搭建电商前端界面原型或演示的开发者
- 学习 React 19、TypeScript 和 Tailwind CSS v4 在现代电商场景中的应用
- 作为前端模板基础,后续接入真实后端、支付和认证服务
- 展示商品浏览、筛选、购物车和结账交互流程的静态站点
适合人群
- 前端开发者或团队用于构建电商店面 UI
- 教学或演示目的展示电商交互流程
- 作为起点定制为完整电商应用的前端部分
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
需要 Node.js 20.19 或更高版本
- 2
使用 npm install 安装依赖,npm run dev 启动开发服务器
- 3
运行 npm run build 生成生产构建,npm run preview 本地预览
- 4
使用 npm run typecheck 进行类型检查,npm test 运行单元测试
- 5
模板无后端,结账、账户、评论等均为模拟,生产使用前需替换为真实服务
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 这是前端模板而非可运营商店:无后端、数据库、支付或邮件服务;结账、账户、订单、评论和订阅均为客户端模拟。
- 图片来自 Unsplash,仅用于演示;MIT 许可仅覆盖代码,不覆盖第三方图片或示例数据内容,商用前需替换或核实其条款。
- 品牌名、文案、价格、商品数据、评论和政策均为虚构示例内容,需替换;演示不代表真实企业、认证、合作或服务。
- 法律/政策文本为演示用占位内容,生产使用前需替换。
- 多币种换算率为静态示例值,并非实时汇率,UI 中已标注。
- 内置汇率是演示用静态示例值,生产环境需替换为汇率 API 或服务商。
- 字体 Plus Jakarta Sans 从 Google Fonts 加载,需网络访问或自行托管。
- 运行需要 Node.js 20.19 或更高版本。
- 生产使用前需将模拟流程替换为真实集成,并相应更新占位法律/政策文本。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
> **This is a front-end template, not a working store.** There is no backend, no database, and no payment or email provider. Checkout, accounts, orders, reviews, and newsletter signup are all simulated client-side for demonstration purposes. Please read [Demo data & simulated behavior](#demo-data--simulated-behavior) before using it as a starting point.
README 原文
- **Images** are loaded from [Unsplash](https://unsplash.com) and are included for demonstration only. The MIT license covers this template's code — **not** the third-party images or any content inside the sample data. Unsplash photos are governed by the [Unsplash License](https://unsplash.com/license); replace them with your own assets (or verify their terms) before commercial use.
README 原文
- **Brand name, copy, prices, product data, reviews, and policies** are fictional sample content intended to be replaced. Nothing in the demo represents a real business, certification, partnership, or service.
README 原文
| **Policies** | Placeholder legal text for demonstration. |
README 原文
- Multi-currency switcher in both the header and footer (USD, EUR, GBP, CAD, AUD) with configurable conversion rates. Rates are static **sample** values, not live exchange rates, and are labeled as such in the UI.
README 原文
Currency options and conversion rates live in `src/context/StoreContext.tsx` (`availableCurrencies`). `formatPrice()` applies the active rate and symbol. The bundled rates are **static sample values for the demo**, not live exchange rates — swap them for a rates API or provider when you go to production.
README 原文
- The UI uses **Plus Jakarta Sans**, loaded from Google Fonts in `index.html`. Swap the `<link>` and the `font-family` stack in `src/index.css` to change it.
README 原文
- **Node.js 20.19+** (see [`.nvmrc`](./.nvmrc))
README 原文
https://github.com/Giogfr/aura-storefront/blob/main/LICENSEhttps://github.com/Giogfr/aura-storefront/blob/main/README.mdReplace these with real integrations before production use, and update the placeholder legal/policy text accordingly.
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-17。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 85 / 100
- 技术栈
- Vite · React
- 网站类型
- 电商
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-10-17
- 截图检查日期
- 2026-10-17
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Vite。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: codex-user-requested-batch-review-20261018 · 2026-10-18
查看当时使用的来源资料
SHA-256: 1a24a3cb3ce944b4b438d653e09e27afe77e98b502ab4e629d9bd93e6a2f416f
2026-10-17T01:26:26.563Z
来源文件 / 仓库# AURA — Modern Ecommerce Storefront Template A polished, modern, and highly modular ecommerce storefront template built with **React 19**, **TypeScript**, **Vite**, and **Tailwind CSS v4**. It ships with responsive product grids, faceted filtering, rich product pages, a slide-out cart, wishlist, quick view, search, and an end-to-end (simulated) checkout. [](./LICENSE) [](https://github.com/Giogfr/aura-storefront/actions/workflows/ci.yml) [](https://react.dev) [](https://vite.dev) [](https://tailwindcss.com) [](https://www.typescriptlang.org) **Live demo:** [aura-storefront-gio.vercel.app](https://aura-storefront-gio.vercel.app/) > **This is a front-end template, not a working store.** There is no backend, no database, and no payment or email provider. Checkout, accounts, orders, reviews, and newsletter signup are all simulated client-side for demonstration purposes. Please read [Demo data & simulated behavior](#demo-data--simulated-behavior) before using it as a starting point. --- ## Table of contents - [Features](#features) - [Tech stack](#tech-stack) - [Requirements](#requirements) - [Getting started](#getting-started) - [Scripts](#scripts) - [Project structure](#project-structure) - [How routing works](#how-routing-works) - [State management](#state-management) - [Customization](#customization) - [Accessibility](#accessibility) - [Demo data & simulated behavior](#demo-data--simulated-behavior) - [Promo codes](#promo-codes) - [Testing](#testing) - [Deployment](#deployment) - [Troubleshooting](#troubleshooting) - [Assets & licensing](#assets--licensing) - [Contributing](#contributing) - [License](#license) ## Features **Layout & navigation** - Mobile-first, responsive layout with a sticky header, rotating announcement bar, mega menu, and a slide-out mobile navigation drawer. - Deep-linkable navigation: every view is reflected in the URL query string and the browser back/forward buttons. - Multi-currency switcher in both the header and footer (USD, EUR, GBP, CAD, AUD) with configurable conversion rates. Rates are static **sample** values, not live exchange rates, and are labeled as such in the UI. **Catalog** - Shop page with faceted filtering (category, price range, availability, colors, sizes), sorting, adjustable grid density (2/3/4 columns), and "load more" pagination. - Curated deep-links (e.g. `?page=shop&filter=sale`) that apply an archive-sale, new-arrivals, or bestseller view. - Collections directory and per-category landing views. **Product detail** - Image gallery with hover cross-fade, fullscreen lightbox, and keyboard navigation. - Variant selection (color/size), quantity stepper, sticky add-to-cart bar, specification accordions, an interactive size guide, related products, and recently-viewed rail. - Session-only product reviews with a submission form. **Cart, wishlist & checkout** - Slide-out cart and wishlist drawers with quantity management, cross-sell suggestions, and free-shipping progress. - Promo codes, order notes, and `localStorage` persistence for the cart and wishlist. - A multi-step checkout (information → shipping → payment) that gates each step, validates required fields before advancing, and supports back/next navigation, shipping methods, a promo field, order summary, and an empty-bag guard. - A demo confirmation screen with a generated order reference. **Search & content** - Instant search overlay with tokenized matching and a dedicated search results page. - About, Contact, FAQ, Shipping & Returns, Legal (privacy/terms), and a 404 page. **Foundations** - Strict TypeScript, semantic/accessible components, and `prefers-reduced-motion` support. ## Tech stack | Layer | Choice | | --- | --- | | UI | [React 19](https://react.dev) | | Language | [TypeScript](https://www.typescriptlang.org) (`strict`) | | Build tool | [Vite](https://vite.dev) | | Styling | [Tailwind CSS v4](https://tailwindcss.com) via `@tailwindcss/vite` | | Icons | [lucide-react](https://lucide.dev) | | State | React Context + hooks (no state library) | | Routing | Lightweight internal navigation state synced with the URL (no router dependency) | ## Requirements - **Node.js 20.19+** (see [`.nvmrc`](./.nvmrc)) - npm (or pnpm/yarn — adjust commands accordingly) ## Getting started ```bash # install dependencies npm install # start the dev server (http://localhost:5173) npm run dev # type-check npm run typecheck # run the unit tests npm test # production build into dist/ npm run build # preview the production build locally npm run preview ``` ## Scripts | Script | Description | | --- | --- | | `npm run dev` | Start the Vite dev server with HMR. | | `npm run build` | Create a production build in `dist/`. | | `npm run preview` | Serve the production build locally. | | `npm run typecheck` | Run `tsc --noEmit` in strict mode. | | `npm test` | Run the unit test suite once with [Vitest](https://vitest.dev). | | `npm run test:watch` | Run tests in watch mode. | | `npm run clean` | Remove the `dist/` directory. | CI runs `typecheck`, `test`, and `build` on every push to `main` and on pull requests (see [`.github/workflows/ci.yml`](./.github/workflows/ci.yml)). ## Project structure ``` src/ ├─ components/ │ ├─ common/ # CartDrawer, WishlistDrawer, SearchOverlay, QuickViewModal, │ │ # ProductCard/Grid, AccountModal, Toast, Breadcrumbs │ └─ layout/ # Header, Footer, MobileMenu ├─ context/ # StoreContext — global store (cart, wishlist, currency, nav, toasts, account) ├─ data/ # products.ts, storeConfig.ts — the template's content/data source ├─ lib/ # Pure, unit-tested helpers: cart validation, promos, routing, currency ├─ pages/ # One component per route/page ├─ types.ts # Shared TypeScript types ├─ index.css # Tailwind entry + custom keyframes/utilities ├─ App.tsx # Page switching + global overlays └─ main.tsx # React root public/ ├─ favicon.svg ├─ site.webmanifest └─ robots.txt .github/ └─ workflows/ci.yml ``` ## How routing works There is **no router dependency**. `StoreContext` holds `currentPage` and `routeParams` and exposes a `navigateTo(page, params?)` helper. Each navigation: 1. updates React state, and 2. writes a query string to the URL (e.g. `?page=shop&cat=footwear`). On mount and on `popstate` (back/forward), the query string is parsed back into state, so views are shareable and bookmarkable. Supported params: `page`, `id` (product), `cat` (category), `q` (search), and `filter` (curated view). ## State management All cross-cutting state lives in a single `StoreProvider` (`src/context/StoreContext.tsx`): - **Navigation** — `currentPage`, `routeParams`, `navigateTo`. - **Currency** — `activeCurrency`, `availableCurrencies`, `formatPrice`. - **Cart** — items, derived totals (subtotal, discount, shipping, tax, grand total), add/remove/update, promo codes. - **Wishlist** — saved product IDs. - **UI** — quick view, search overlay, account modal, and toast state. - **History** — recently viewed products and recent searches. Cart and wishlist are persisted to `localStorage`; everything else is in-memory for the session. ## Customization Most of the storefront is driven by two files: ### Store configuration — `src/data/storeConfig.ts` Store name and tagline, announcement-bar messages, free-shipping threshold, standard/express shipping fees, contact details, social links, category definitions, FAQ content, homepage promotional banners, and the Instagram grid. ### Product catalog — `src/data/products.ts` The full product dataset: pricing (`price`, `compareAtPrice`, `isSale`), merchandising flags (`isNew`, `isFeatured`, `isBestSeller`), inventory, images, colors, sizes, descriptions, specifications, materials, care instructions, shipping info, and reviews. ### Currency Currency options and conversion rates live in `src/context/StoreContext.tsx` (`availableCurrencies`). `formatPrice()` applies the active rate and symbol. The bundled rates are **static sample values for the demo**, not live exchange rates — swap them for a rates API or provider when you go to production. ### Theming & styling - Tailwind CSS v4 is wired through `@tailwindcss/vite` and imported in `src/index.css` — there is no `tailwind.config.js` to maintain. - Global tokens (fonts, focus rings, custom scrollbar), keyframe animations, and utilities such as `.no-scrollbar` are defined in `src/index.css`. - Initial theme color and base background/text colors are set in `index.html`. ### Fonts & icons - The UI uses **Plus Jakarta Sans**, loaded from Google Fonts in `index.html`. Swap the `<link>` and the `font-family` stack in `src/index.css` to change it. - Icons come from `lucide-react`; import only what you use. ## Accessibility - Semantic `<button>` elements for all interactive controls, with `aria-label`s and visible focus rings. - Dialog semantics (`role="dialog"`, `aria-modal`) on drawers/modals, with `Escape` to close and background scroll locking. - `aria-expanded`, `aria-pressed`, `aria-selected`, and `aria-live` states for toggles, menus, and toasts. - Associated `<label>`/`id` pairs on form fields. - A `prefers-reduced-motion` block disables animations/transitions for users who request it. ## Demo data & simulated behavior The template intentionally includes interactive flows so you can explore the UX end to end. None of them connect to real services: | Area | What actually happens | | --- | --- | | **Checkout** | Generates a local order reference and clears the cart. **No payment is processed.** | | **Express checkout** | Shop Pay / Apple Pay / PayPal show a "simulated" toast. | | **Accounts** | Sign in without authentication; nothing is stored remotely. | | **Orders & addresses** | Illustrative sample content in the account modal. | | **Reviews** | Added to local component state for the session only. | | **Contact form & newsletter** | Capture input but send nothing. | | **Policies** | Placeholder legal text for demonstration. | Replace these with real integrations before production use, and update the placeholder legal/policy text accordingly. ### Checkout totals (demo rules) Totals are computed consistently and intentionally: - **Subtotal** — sum of line prices × quantities. - **Discount** — the promo-code rate applied to the subtotal. - **Shipping** — free when `FREESHIP` is applied or the subtotal reaches the free-shipping threshold; otherwise the standard fee. Choosing express shipping always uses the express fee. - **Estimated tax** — a fixed 8% (`TAX_RATE` in `src/lib/storeUtils.ts`) applied to the discounted **merchandise** subtotal only; shipping is not taxed. - **Total** — discounted subtotal + shipping + tax. Cart and wishlist data in `localStorage` is validated on load: malformed entries, unknown products, and sold-out products are dropped, and quantities are clamped to available stock. Products with zero inventory can never be added to the cart. ## Promo codes A few promo codes are pre-wired as examples (case-insensitive): | Code | Effect | | --- | --- | | `WELCOME10` | 10% off the order | | `SAVE20` | 20% off the order | | `FREESHIP` | Waives standard shipping | ## Testing Unit tests cover the pure store helpers in `src/lib/` — cart validation and stock clamping, promo-code resolution, currency formatting, and route parsing — and run with [Vitest](https://vitest.dev): ```bash npm test # single run npm run test:watch ``` Tests live next to the code they cover (e.g. `src/lib/storeUtils.test.ts`). Add tests alongside new pure logic, and extend the suite as you grow the storefront. ## Deployment The project builds to a static `dist/` folder and can be hosted anywhere that serves static files. - **Build command:** `npm run build` - **Output directory:** `dist` For Vercel, Netlify, GitHub Pages, or any static host, set the build command and output directory above. Because routing is query-string based (not path based), no SPA rewrite rules are required. ## Troubleshooting - **Blank page after deploy** — confirm the host serves `index.html` at the site root and that assets resolve (the Vite `base` is `/` by default). - **Fonts look different locally** — the font is fetched from Google Fonts; ensure network access or self-host it. - **Cart/wishlist appears stale** — state is cached in `localStorage`. Clear site data for the origin to reset. ## Assets & licensing - **Source code** is released under the [MIT license](./LICENSE). - **Images** are loaded from [Unsplash](https://unsplash.com) and are included for demonstration only. The MIT license covers this template's code — **not** the third-party images or any content inside the sample data. Unsplash photos are governed by the [Unsplash License](https://unsplash.com/license); replace them with your own assets (or verify their terms) before commercial use. - **Brand name, copy, prices, product data, reviews, and policies** are fictional sample content intended to be replaced. Nothing in the demo represents a real business, certification, partnership, or service. ## Contributing Contributions are welcome. Please keep the template framework-free beyond its existing dependencies, run `npm run typecheck` and `npm test` before opening a pull request, and match the existing code style (no extra comments unless necessary, semantic HTML, accessible controls). ## License [MIT](./LICENSE) © 2026 Giogfr
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

free.website.templates
Free OpenSource Website Page Templates Collection by Vontext: Vite + React + TypeScript + TailwindCSS
Vite · 后台

react-flower-shop-website-template
A Morden React template for flower shops, florists, and online bouquet stores – built with Tailwind CSS, Vite,…
Vite · 电商

BerryBliss
BERRYBLISS WEBSITE: a sleek online store template built with React.js, React Router DOM, and Vite server. Enjo…
Vite · 电商

alexkpotstore
Digital storefront for 3D prints, Notion templates, VS Code themes, and wallpapers built with React and Vite
Vite · 电商

templatevibecode
Free, MIT-licensed website templates (landing pages, company profile, storefront) built with React, Vite and T…
Vite · 电商

webspatial-shop
WebSpatial storefront starter with React and 3D product previews.
Vite · 电商
