"A Jewel of Jewels" — Celebrating 85 Years of Pure Trust, Master Craftsmanship & BIS 916 Hallmarked Purity (Est. 1939)
A luxury digital commerce web application built with React, Vite, Tailwind CSS, and Framer Motion. Designed to deliver an opulent, high-performance shopping experience reflecting the iconic legacy and Bengali karigari of P. C. Chandra Jewellers.
- Real-Time API: Powered by
https://api.goldprice.dev/v1/carat?currency=INRto fetch live 22K and 24K per-gram gold rates in Indian Rupees (INR). - Smart Caching: Implements a 5-minute client-side
localStoragecache to ensure rapid page loads and prevent unnecessary API rate limiting. - Top Ticker: Features a live pulsating ticker across all pages displaying current 22KT & 24KT bullion market prices.
- Expanded Repertoire: Complete catalog of 54 curated pieces across 6 core categories:
- Earrings & Jhumkas (Bengali Kanpashas, Jhumkas, Diamond studs & drops)
- Rings & Solitaires (22KT filigree bands, bridal cocktails, signet rings)
- Necklaces & Chokers (Royal Sita Haars, Chokers, Hasli & Mangalsutras)
- Bangles & Kadas (Peacock finial Balas, Chur, Diamond tennis bracelets, Nakshi Kadas)
- Royal Bridal Atelier (Heritage Matha Patti, Hathphool, Uncut Polki sets)
- Men's Luxury (Heavy Cuban links, Sovereign signets, Lion-head Kadas)
- Rate-Limited Progressive Loading & Infinite Scroll:
- Initial batch limited to 12 items for lightweight rendering.
- Automatic loading of subsequent 12-item batches as the user scrolls toward the bottom of the grid using an
IntersectionObserversentinel. - Interactive progress indicator with live product counters.
- Two-Way Filter Sync: Filters react to and update browser search parameters (
?category=...&gender=...&metal=...&minPrice=...&maxPrice=...&search=...). - Sidebar Controls:
- Real-time price slider (
₹0to₹5,00,000). - Metal purity filters (
22KT Gold,18KT Diamond,14KT Gold,Platinum). - Gender targeting (
Women,Men,Kids). - Gold tones (
Yellow Gold,White Gold,Rose Gold). - Delivery timelines (
3 Days,7 Days,10 Days,25 Days Bespoke).
- Real-time price slider (
- Unified Global Search: Search bar in the desktop and mobile headers instantly filters the collections grid by keyword matching across titles, metals, and badges.
- Zero Scroll Bleed: Automatically scrolls to
(0, 0)upon page reload and on every internal route navigation. - Query Param Scroll: Clicking footer category buttons (e.g. Wedding, Diamond, Kids) while already on the collections page immediately scrolls back to the top of the catalog.
- Manual Scroll Restoration: Sets
history.scrollRestoration = 'manual'to prevent browser scroll jump.
- Cinematic Hero: Full-viewport showcase featuring the historic showroom ambiance with high-contrast luxury typography.
- Consistent Product Geometry: Prevents discount pills from wrapping onto multiple lines (
whitespace-nowrap shrink-0) and pins action buttons (mt-auto) for identical card alignment across all screen sizes. - Curated Homepage Layout: Homepage displays 4 handpicked showcase masterpieces to keep the landing experience clean and invite users into the dedicated collections page.
- Campaign Banners: Panoramic campaign carousel featuring Ayushmann Khurrana x P.C. Chandra Jewellers (Framed For Fame), Bespoke Atelier, New 9KT Gold, and Astral Gems.
| Technology | Purpose |
|---|---|
| React 19 | Modern UI component hierarchy & hooks architecture |
| Vite | Fast HMR, development server, and optimized bundling |
| Tailwind CSS v4 | Custom luxury color tokens, typography, and responsive layouts |
| Framer Motion | Smooth cinematic transitions and layout animations |
| React Router v7 | Dynamic client-side routing and URL search param synchronization |
| Lucide React & React Icons | Crisp UI icons, badges, and trust tokens |
pcc-jewellers/
├── public/
│ ├── assets/ # Logos, heritage crests, trademark marks
│ └── images/
│ ├── products/ # 54 cropped 1:1 square product assets
│ └── ... # Banner campaigns and editorial backgrounds
├── src/
│ ├── components/
│ │ ├── CampaignBanners.jsx # Full-width panoramic campaign carousel
│ │ ├── CategorySection.jsx # Shop by Category with gender switching
│ │ ├── CustomJewelleryBanner.jsx# Bespoke atelier call-to-action
│ │ ├── Footer.jsx # Corporate, store locator, and collections links
│ │ ├── GiftingGuide.jsx # Occasion & budget tier filters
│ │ ├── Header.jsx # Live gold ticker, navigation & search bar
│ │ ├── HeritageSection.jsx # 85-year legacy story & milestone metrics
│ │ ├── HeroBanner.jsx # Fullscreen editorial hero banner
│ │ ├── LiveConsultationBanner.jsx # 360° video shopping preview
│ │ ├── ScrollToTop.jsx # Instant scroll-to-top on reload & navigation
│ │ ├── TestimonialsSection.jsx # Client reviews & ratings
│ │ ├── TrendingCollection.jsx # 4 curated weekly masterpieces
│ │ └── TrustTokens.jsx # 10 core pillars of customer assurance
│ ├── configs/
│ │ └── siteContent.js # Single source of truth for 54 items & metadata
│ ├── helpers/
│ │ └── goldRateService.js # Live gold rate API fetcher with localStorage caching
│ ├── pages/
│ │ ├── Collections.jsx # Filterable catalog with auto-loading infinite scroll
│ │ └── Home.jsx # Flagship landing page
│ ├── App.jsx # Router & top-level layout configuration
│ ├── index.css # Design system tokens and global CSS
│ └── main.jsx # Application entry point
├── index.html # HTML5 template with Google typography & scroll config
├── package.json
└── vite.config.js
- Node.js:
v18.0.0or higher - npm or yarn / pnpm
# Clone or navigate to the repository
cd pcc-jewellers
# Install dependencies
npm installnpm run devnpm run buildPrivate and confidential. Developed for freelance client presentation.