Skip to content

devamir99/Next.js-Learning-Project

Repository files navigation

Nova Mart — E-commerce Frontend Mockup

A bilingual (Persian / English) e-commerce storefront mockup built with Next.js 16 App Router. Designed as a portfolio piece — frontend only, no backend or real payments.

Live demo: deploy to your subdomain (see Deploy)

Author: DevAmir


Screenshots

Home — full page (Persian / RTL, light)

Story rail, hero carousel, special offers, promo banners, category grids, product sections, brands, and blog row.

Nova Mart home page — Persian full layout

Home — full page (English / LTR, dark)

Same retail layout in English with dark theme — header, deals strip, product grids, and portfolio CTA.

Nova Mart home page — English dark mode full layout

Home — hero & header (English, light)

Two-row header, search bar (Ctrl+K), category sub-nav, story rail, and hero slider.

Home page — English hero section

Home — deals & banners (Persian, light)

Special offers carousel with countdown, promo tile grid, and category quick links.

Home page — Persian deals and banners

Blog (Persian, dark mode)

Blog landing with category cards and latest articles.

Blog page — Persian dark mode


Highlights

  • Digikala-inspired home — story rail, hero carousel, amazing deals strip, promo banners, dense product grids
  • Bilingual UI/fa (RTL) and /en (LTR) with dictionary-based i18n
  • Full store flow — home, shop (PLP/PDP), blog, cart, mock checkout
  • 24 mock products, categories, blog posts, and reviews (JSON data layer)
  • Red theme with dark/light mode (next-themes)
  • Search — Ctrl+K dialog across products and blog
  • Accessible — skip link, focus styles, reduced-motion support
  • Portfolio CTAs — links to devamir.com and social profiles

Tech Stack

Layer Tools
Framework Next.js 16, React 19
Language TypeScript 5
Styling Tailwind CSS 4
Theme next-themes
Fonts Geist + IRANSans (Persian)
Data Static JSON + typed getters

Project Structure

app/[locale]/(store)/     Store pages (home, shop, blog, cart, checkout…)
components/               UI, layout, cart, shop, search, portfolio
docs/screenshots/         README preview images
lib/data/                 Types, getters, localization helpers
lib/i18n/                 Locale config + dictionaries
lib/cart/                 Cart state (localStorage)
lib/shop/                 Route resolution for catch-all shop URLs
lib/site/author.ts        Author contact & social links (single source)
data/                     products, categories, blog-posts, reviews
messages/                 fa.json, en.json
middleware.ts             Locale redirect
public/fonts/             IRANSans webfont

Getting Started

npm install
npm run dev

Open http://localhost:3000 — middleware redirects to /fa or /en.

Scripts

npm run dev      # Development server
npm run build    # Production build
npm run start    # Production server
npm run lint     # ESLint

Features by Area

Shop

  • Category / subcategory / product catch-all routing
  • Filters (category, price, in-stock), sort, product gallery, variants
  • Related products, reviews tab, breadcrumb navigation

Cart & Checkout

  • Client cart with localStorage persistence
  • Quantity updates, remove items, order summary
  • Mock checkout form (no real submission)

Blog

  • Category pages and post detail
  • Featured posts on home

i18n

  • Locale in URL: /fa/..., /en/...
  • dir="rtl" / dir="ltr" on <html>
  • All UI strings from messages/*.json

Home (retail layout)

  • Two-row header with search bar and category sub-nav
  • Story rail, hero slider, quick-access icons
  • Special offers carousel with countdown timer
  • Promo banner grids (4-col, wide, 2-col)
  • Circular category icons, brand strip
  • Dense 6-column product grids + horizontal carousels
  • Horizontal blog row, compact portfolio CTA

Author & Contact

Website devamir.com
Email devamir99@gmail.com
Phone 0920 500 7494
LinkedIn linkedin.com/in/devamir
GitHub github.com/devamirr
Telegram t.me/devamir99

Author links are centralized in lib/site/author.ts.

Deploy

Vercel (recommended)

  1. Push the repo to GitHub
  2. Import project in Vercel
  3. Framework preset: Next.js (auto-detected)
  4. No environment variables required — static mock data only
  5. Optional: set custom domain / subdomain (e.g. nova.devamir.com)

Build command: npm run build
Output: Next.js default

Manual

npm run build
npm run start

Notes

  • This is a mockup — forms, checkout, and cart do not connect to any API
  • Product images use placeholders / external URLs from mock data
  • Persian font: IRANSansWeb_UltraLight.woff2 in public/fonts/

License

Open source — available for learning and portfolio reference.


Built by DevAmir

About

A comprehensive Next.js 16 project demonstrating modern web development concepts, routing patterns, API integration, and best practices. This project is perfect for learning Next.js fundamentals and advanced features.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors