Browse templates by category, with each card providing a dedicated template page and an external live demo link
templates-store — Next.js Ecommerce Template
By condev-dev
Con Dev Templates Store is a Persian-language e-commerce site built on Next.js and MongoDB for selling single-page HTML templates and browser games, with catalog browsing, a shopping cart, Zarinpal payment, and purchase history.
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 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
The shopping cart supports adding and removing items, with amounts displayed in Persian numerals and toman
The Zarinpal payment flow includes request, redirect, and callback verification, unlocking the order only after verification succeeds
A complete NextAuth-based account flow: registration, login, Google sign-in, forgot password, and password reset
Purchase records are tied to the account, and purchased templates can be downloaded from the purchases page
Default RTL Persian interface, with dark and light themes that are remembered by the browser
Template Details
This project is a template and game sales site for the Iranian market. It uses the Next.js App Router to build pages and API routes, MongoDB to store template images, demo URLs, and prices, while Persian titles and descriptions live in data/templates.js inside the repository. Visitors can browse templates by category; each card links to a dedicated template page and an external live demo. After adding items to the cart, payment is completed through the Zarinpal gateway, and an order is marked as paid only after callback verification succeeds. Purchased content is stored on the purchases page of the user account.
The account system is based on NextAuth and supports email registration and login, forgot password and password reset, and Google sign-in. Once logged in, users can edit their profile, change their password, switch between dark and light themes, and delete their account. The interface defaults to RTL and Persian numerals, with amounts formatted in toman. The project requires Node.js 20 or higher and a MongoDB database. Environment variables cover the database connection, session secret, Google OAuth credentials, Zarinpal merchant information, and API key; if configuration is missing, the catalog may be empty.
Live demos of templates are hosted on their own domains, and the repository does not include those demo sites themselves; licenses for third-party assets such as demo images and fonts must be checked separately.
Is it right for your project?
Use Cases
- Building a digital template or small game sales site for Persian-speaking users
- E-commerce projects that need to integrate the Zarinpal gateway and verify payment callbacks
- A content management approach where template copy lives in the repository while images and prices live in the database
- Next.js applications that need RTL layout, Persian numerals, and toman-formatted amounts
Suitable For
- Full-stack developers familiar with the Next.js App Router and MongoDB
- Persian-language e-commerce projects that need ready-made account, cart, and payment flows
- Developers who want to reference NextAuth session and Zarinpal callback verification implementations
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requires Node.js 20 or higher and a MongoDB database
- 2
After cloning the repository, run npm install and npm run dev, then access http://localhost:3000 by default
- 3
Create .env.local in the project root and configure MONGODB_URI, NEXTAUTH_SECRET, NEXTAUTH_URL, Google OAuth credentials, Zarinpal merchant information, and API key
- 4
An empty catalog is usually related to missing .env.local configuration
- 5
Live demos of templates are hosted on external domains, and the repository does not include the demo sites themselves
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope applies to that version's code and does not mean external services or third-party assets are free.
Must comply with when using
- The code in this version may be used, modified, used commercially, and distributed free of charge.
- 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
- 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 separate charges.
- Running the project requires Node.js 20 or higher and your own MongoDB database; otherwise it cannot start properly.
- Environment variables such as MONGODB_URI must be configured; if configuration such as the database connection is missing, the catalog may be empty.
- Using Google sign-in requires applying for and configuring your own Google OAuth client ID and secret.
- Payment functionality depends on the Zarinpal gateway and requires your own merchant ID, gateway URL, and other external service credentials.
- Live demos of templates are hosted on their own separate domains, and the repository itself does not include these demo sites.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
You need **Node.js 20 or newer** and a **MongoDB** database.
Original README
| `MONGODB_URI` | Database connection string |
Original README
| `GOOGLE_CLIENT_ID` | Google sign-in client id |
Original README
| `ZARINPAL_MERCHANT_ID` | Zarinpal merchant id |
Original 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
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-12. 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
- Next.js · React · HTML
- 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-10-11
- Screenshot last checked
- 2026-10-12
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 Next.js 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: 0314ee7f7fcceb3ae8b57642b48aa5d2d87be47e3fdf086bbe718ac1d57b16b8
2026-10-12T01:04:29.936Z
Source file / repository# 🛍 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.
Explore similar templates
Compare previews and descriptions within the same stack and category.

Next.js Commerce
Vercel's officially maintained Next.js App Router ecommerce starter with deep Shopify integration, offering a complete product catalog, cart, and checkout flow. Core logic is modular for swapping backends, and community provider versions exist for BigCommerce, Medusa, and Saleor.
Next.js · E-commerce

commerceplate
A free Shopify e-commerce starter template built with Next.js 16, Tailwind CSS 4, and TypeScript, using the Shopify Storefront API (GraphQL).
Next.js · E-commerce

ecommerce-template
A Next.js App Router ecommerce template built with TypeScript, Tailwind CSS, Radix UI, and TanStack Query.
Next.js · E-commerce

boundless-nextjs-ecommerce-template
A free Next.js and TypeScript e-commerce frontend starter kit from Boundless Commerce.
Next.js · E-commerce

mobile-medusa
Mobile Medusa is an Expo-based React Native mobile e-commerce starter template that connects to a Medusa backend and aligns its pages and user flows with the Medusa Next.js Starter.
Next.js · E-commerce

template-ecommerce-webapp-nextjs
An official Contentful-maintained Next.js ecommerce starter template that fetches content via the Contentful GraphQL API and uses graphql-codegen to generate a type-safe SDK.
Next.js · E-commerce
