A small, warm e-commerce storefront for Cozy Loops — handmade flower keychains, bag charms, hair accessories and tiny treasures, made in India.
Built with Next.js 16 (App Router), React 19, Tailwind CSS v4 and
TypeScript. No backend or database — products live in the codebase
(lib/products.ts) and orders are confirmed over WhatsApp / Instagram.
npm install
npm run devOpen http://localhost:3000.
For local-only env overrides, copy .env.example to .env.local and fill in
the values you need (all optional for local development).
| Command | What it does |
|---|---|
npm run dev |
Start the dev server |
npm run build |
Production build |
npm start |
Serve the production build |
npm run lint |
ESLint |
node scripts/generate-product-art.mjs |
Regenerate placeholder product SVGs |
app/ routes: /, /shop, /product/[slug], /cart, /checkout,
/about, /shipping, /returns, /privacy, /terms + robots, sitemap, OG image
components/ header, footer, cart drawer, product card, search, buttons, forms
lib/ product catalog, categories, cart state, constants, helpers
public/ brand + product SVG artwork
scripts/ placeholder art generator (dev only)
- Products: edit
lib/products.ts. Images live inpublic/products/as<slug>-1.svg/<slug>-2.svg. Swap in real photography by dropping<slug>-1.jpgand updating the product'simagesarray. - Prices & shipping: INR throughout. Free shipping above ₹499, flat ₹49
below — tune
FREE_SHIPPING_THRESHOLD/SHIPPING_FLATinlib/constants.ts. - Checkout: currently a WhatsApp / Instagram handoff (
PAYMENT_PROVIDER=manual). SetNEXT_PUBLIC_WHATSAPP_NUMBERin env to enable the WhatsApp link. - Design tokens: colours, fonts, shadows and button styles live in
app/globals.cssunder@theme.
The site is configured for Vercel. In Vercel, set:
NEXT_PUBLIC_SITE_URL— the production URL (used for sitemap / canonical / OG).
Deploy with:
vercel --prod