按分类浏览模板,每张卡片提供独立模板页与外部实时演示链接
templates-store — Next.js 电商模板
作者 condev-dev
Con Dev Templates Store 是一个基于 Next.js 与 MongoDB 的波斯语电商站点,用于销售单页 HTML 模板与浏览器游戏,包含目录浏览、购物车、Zarinpal 支付与购买记录。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
购物车支持添加与移除,金额以波斯语数字和托曼显示
Zarinpal 支付流程包含请求、跳转与回调验证,验证通过后才解锁订单
基于 NextAuth 的完整账户流程:注册、登录、Google 登录、忘记与重置密码
购买记录绑定账户,可在购买页下载已购模板
默认 RTL 波斯语界面,提供深色与浅色两套主题并按浏览器记忆
模板详细介绍
该项目是一个面向伊朗市场的模板与游戏销售站点,使用 Next.js App Router 构建页面与 API 路由,MongoDB 存储模板的图片、演示地址与价格,波斯语标题和描述则放在仓库内的 data/templates.js 中。访客可按分类浏览模板,每张卡片链接到独立模板页与外部实时演示,加入购物车后通过 Zarinpal 网关完成支付,回调验证成功才将订单标记为已支付,已购内容保存在用户账户的购买页中。
账户体系基于 NextAuth,支持邮箱注册登录、忘记密码与重置密码以及 Google 登录,登录后可编辑资料、修改密码、切换深色与浅色主题并删除账户。界面默认 RTL 与波斯语数字,金额以托曼格式化显示。项目需要 Node.js 20 或更高版本以及一个 MongoDB 数据库,环境变量涵盖数据库连接、会话密钥、Google OAuth 凭据、Zarinpal 商户信息与 API 密钥,缺少配置时目录可能为空。
模板的实时演示托管在各自域名上,仓库不包含这些演示站点本身;演示图片、字体等第三方素材的许可需单独核对。
适合你的项目吗?
适用场景
- 搭建面向波斯语用户的数字模板或小游戏销售站点
- 需要接入 Zarinpal 网关并验证支付回调的电商项目
- 希望将模板文案放在仓库、图片与价格放在数据库的内容管理方式
- 需要 RTL 布局、波斯语数字与托曼格式化显示的 Next.js 应用
适合人群
- 熟悉 Next.js App Router 与 MongoDB 的全栈开发者
- 需要现成账户、购物车与支付流程的波斯语电商项目
- 希望参考 NextAuth 会话与 Zarinpal 回调验证实现方式的开发者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
需要 Node.js 20 或更高版本以及一个 MongoDB 数据库
- 2
克隆仓库后执行 npm install 与 npm run dev,默认访问 http://localhost:3000
- 3
在项目根目录创建 .env.local,配置 MONGODB_URI、NEXTAUTH_SECRET、NEXTAUTH_URL、Google OAuth 凭据、Zarinpal 商户信息与 API 密钥
- 4
目录为空通常与 .env.local 配置缺失有关
- 5
模板的实时演示托管在外部域名,仓库不包含演示站点本身
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 运行项目需要 Node.js 20 或更高版本,并需自备一个 MongoDB 数据库,否则无法正常启动。
- 必须配置 MONGODB_URI 等环境变量,缺少数据库连接等配置时目录可能为空。
- 使用 Google 登录需自行申请并配置 Google OAuth 客户端 ID 与密钥。
- 支付功能依赖 Zarinpal 网关,需自备商户 ID 与网关地址等外部服务凭据。
- 模板的实时演示托管在各自独立域名上,仓库本身不包含这些演示站点。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
You need **Node.js 20 or newer** and a **MongoDB** database.
README 原文
| `MONGODB_URI` | Database connection string |
README 原文
| `GOOGLE_CLIENT_ID` | Google sign-in client id |
README 原文
| `ZARINPAL_MERCHANT_ID` | Zarinpal merchant id |
README 原文
https://github.com/condev-dev/templates-store/blob/main/LICENSEhttps://github.com/condev-dev/templates-store/blob/main/README.mdEach template is hosted on its own domain and opens straight from its card
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-12。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 88 / 100
- 技术栈
- Next.js · React · HTML
- 网站类型
- 电商
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-10-11
- 截图检查日期
- 2026-10-12
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-13
查看当时使用的来源资料
SHA-256: 0314ee7f7fcceb3ae8b57642b48aa5d2d87be47e3fdf086bbe718ac1d57b16b8
2026-10-12T01:04:29.936Z
来源文件 / 仓库# 🛍 Con Dev Templates Store **Con Dev Templates Store** – A complete storefront for selling ready-made single-page HTML templates and browser games, built with **Next.js 16, React 19 and MongoDB**. A visitor browses the catalogue, opens the live demo of any template, adds it to the cart, pays through the Zarinpal gateway and picks the file up from their own purchases page — with a full account system behind it. > ⚡ **Portfolio-Level Project** – Showcasing full-stack work in **Next.js App Router, MongoDB data modelling, NextAuth sessions, a real payment gateway and a themed RTL interface**. [](https://www.condev.ir/) --- ## 🛠 Tech Stack         --- ## ✨ Key Features - 🗂 **Template Catalogue** – Four categories — Persian landing pages, Turkish landing pages, bio pages and games — with filters and a dedicated page for every template - 🎬 **Live Demo Per Template** – Each template is hosted on its own domain and opens straight from its card, so buyers see the real thing before paying - 🛒 **Cart** – Add and remove templates, with the total shown in Persian digits and Toman - 💳 **Zarinpal Checkout** – Payment request, redirect to the gateway and a verified callback that only marks the order paid when the authority checks out - 📦 **Purchases** – Everything a customer bought stays in their account, ready to download - 🔐 **Complete Auth Flow** – Sign up, sign in, forgot password, reset password and Google sign-in - 👤 **Profile** – Edit personal details, change the password and delete the account - 🌗 **Two Themes** – A dark default and a light "Spotify" theme, remembered per browser - 🧮 **Persian By Default** – RTL layout, Persian digits and a shared Toman formatter - 🎞 **Motion and Feedback** – Swiper sliders, skeleton loading states, toasts and confirm dialogs before anything destructive - 🔍 **SEO and Install** – Per-page metadata, a generated sitemap, robots rules and a web manifest - 🧱 **Component Structure** – Every component lives in its own folder next to its stylesheet - 🛡 **Safe Reads** – If a template image or a database read fails, the page still renders instead of crashing --- ## 📸 Visual Preview <div align="center"> ### 🏠 Store Front *Hero, category slider, best sellers and the plan bundles.*  --- ### 🔖 Template List *Every template in a category with the live demo link on each card.*  --- ### 📄 Template Page *Price, feature list, live demo button, add to cart and the full description.*  --- ### 🛒 Cart *Cart items, running total and the checkout button.*  --- ### 🔐 Authentication *Sign in with email or Google, plus account recovery.*  --- ### 📦 Purchases *Bought templates attached to the user account, ready to download.*  --- ### 👤 Profile *Account details, password change, theme switcher and account deletion.*  --- ### ⚠ 404 *Custom not-found page inside the same layout.*  --- ### 🌗 Light Theme *The same store on the light theme — the choice is stored per browser.*  --- ### 📱 Mobile *The store and a template page down to a 390px viewport.* <img src="https://raw.githubusercontent.com/condev-dev/templates-store/main/public/img/readme/Mobile-Demo.png" width="320" alt="Mobile store"> <img src="https://raw.githubusercontent.com/condev-dev/templates-store/main/public/img/readme/Mobile-Template-Demo.png" width="320" alt="Mobile template"> --- ### 🔗 Live Store **[condev.ir](https://www.condev.ir/)** </div> --- ## 🗂 Routes | Route | What it does | | --- | --- | | `/` | Store front: hero, categories, best sellers, bundles | | `/categories` | Category overview | | `/templates/filter/[filterBy]` | Template list for one category | | `/template/[id]` | Single template: price, features, live demo, add to cart | | `/cart` | Cart and checkout entry | | `/payment/callback` | Return from the Zarinpal gateway | | `/purchases` | Templates the signed-in customer owns | | `/profile` | Account details, password, theme and deletion | | `/auth/signin` · `/auth/signup` | Sign in and sign up | | `/auth/ForgotPassword` · `/auth/reset-password` | Password recovery | ## 🔌 API Routes | Route | What it does | | --- | --- | | `/api/templates` | Template list and single template | | `/api/carts` | Cart read and write | | `/api/purchases` | Purchases of the signed-in user | | `/api/users` | Account read, update and delete | | `/api/users/check-email` | Email availability check | | `/api/users/reset-password` | Set a new password from a reset token | | `/api/payment/request` | Create the payment request | | `/api/payment/verify` | Verify the gateway callback | | `/api/auth/[...nextauth]` | Sessions and the Google provider | ## 🧩 Project Structure | Path | Description | | --- | --- | | `app` | Pages, layouts and the server routes (App Router) | | `app/templates/filter/[filterBy]` | Category listing with its own loading and error states | | `components` | UI components, each in its own folder with a colocated stylesheet | | `components/templates` | Template card, list, category slider and add-to-cart button | | `components/cart` · `components/purchases` | Cart and purchase pieces with skeleton variants | | `components/profile` · `components/auth` | Account, password and auth pieces | | `data/templates.js` | Persian title and description of every template | | `lib` | Database connection and font setup | | `services` | Fetch helpers used by the client components | | `public/fonts` | Self-hosted Persian font families | | `styles` | Reset, theme tokens, global rules and shared component CSS | --- ## ⚙️ How It Works 1. **Browse** – The store lists templates by category; each card links to its own page and to the live demo of that template 2. **Data split** – Persian titles and descriptions live in `data/templates.js`, while the image, demo URL and price come from MongoDB, so text changes stay in the repository and content changes stay in the database 3. **Cart** – Adding a template writes to the cart route and the header count follows along 4. **Pay** – Checkout asks Zarinpal for an authority, redirects the buyer, and the callback verifies the payment before anything is unlocked 5. **Own** – Purchases are attached to the account, so a bought template is always one click away 6. **Session** – NextAuth keeps the user signed in and protects the account, cart and purchase routes --- ## 🚀 Setup You need **Node.js 20 or newer** and a **MongoDB** database. ```bash git clone https://github.com/condev-dev/templates-store.git cd templates-store npm install npm run dev ``` Then open `http://localhost:3000`. If the catalogue comes back empty, it is almost always `.env.local` — see the table below. ### 🔑 Environment Variables Create `.env.local` in the project root: | Key | What it is for | | --- | --- | | `MONGODB_URI` | Database connection string | | `NEXTAUTH_SECRET` | Session signing key | | `NEXTAUTH_URL` | Public address of the site | | `GOOGLE_CLIENT_ID` | Google sign-in client id | | `GOOGLE_CLIENT_SECRET` | Google sign-in client secret | | `ZARINPAL_MERCHANT_ID` | Zarinpal merchant id | | `ZARINPAL_BASE_URL` | Zarinpal gateway address | | `NEXT_API_SECRET_KEY` | Key that protects the server routes | | `NEXT_PUBLIC_API_SECRET_KEY` | The same key for browser calls | | `NEXT_PUBLIC_API_URL` | Base address of the service | ### 📜 Commands | Command | What it does | | --- | --- | | `npm run dev` | Development server | | `npm run build` | Production build | | `npm start` | Run the production build | | `npm run lint` | Lint the project | --- ## 📄 License [](LICENSE) **© ConDev** – All rights reserved.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

Next.js Commerce
Next.js Commerce 是 Vercel 团队维护的电商启动模板,基于 Next.js App Router 构建,采用服务端渲染、React Server Components、Server Actions …
Next.js · 电商

commerceplate
Commerceplate 是一个基于 Next.js 16、Tailwind CSS 4 和 TypeScript 的 Shopify 电商启动模板,由 Zeon Studio 开发并免费开源。
Next.js · 电商

ecommerce-template
An ecommerce template built with NextJS 16, TypeScript and TailwindCSS
Next.js · 电商

commercelayer-sanity-template
A multi-country ecommerce template built with Commerce Layer, Next.js, Sanity studio, and deployed to Netlify.
Next.js · 电商

boundless-nextjs-ecommerce-template
Next.js E-Commerce template. Strong TypeScript, Ready to use, For high-performance e-commerce websites.
Next.js · 电商

mobile-medusa
📱 Combine your Medusa.js e-commerce backend and/or web storefront with a Expo mobile app that matches Medusa …
Next.js · 电商
