Feb 2026 — Present

RL TECHZONE PVT (LTD) — E-Commerce Computer Store

A full-stack e-commerce platform for a computer retail business.

A modern, full-stack e-commerce platform built with Next.js 16, TypeScript, Prisma, and Stripe. Features a fully content-editable storefront (hero, homepage sections, navigation, promo bar — all admin-managed with no redeploy needed), secure multi-gateway checkout, order management, a PostgreSQL database with complete order tracking, PDF receipt generation, one-way ERP catalog sync, and multi-branch inventory management.

Tech Stack

Core Framework

  • Next.js 16.1.6 (App Router only)
  • React 19.2.3
  • TypeScript 5 (strict mode)
  • pnpm 10+
  • Node.js 24+

Database & ORM

  • PostgreSQL
  • Prisma 7.5 — the newer prisma-client generator, not the classic client
  • @prisma/adapter-pg + pg — native Postgres driver, not the default query-engine binary

Authentication

  • Clerk — hosted sign-in, JWT session management, role stored in session claims

Payments

  • Stripe — Card payments via Stripe Checkout
  • KOKO — buy-now-pay-later (Sri Lanka), hand-rolled RSA-SHA256 signing
  • Payzy — server-side checkout proxy
  • Bank Transfer — manual/offline flow, no gateway

Storage

  • Backblaze B2 (default) — S3-compatible API via @aws-sdk/client-s3
  • Vercel Blob
  • Supabase Storage — chosen per upload

Email

  • @react-email/components + render — JSX email templates
  • Nodemailer over SMTP
  • react-email dev server for local template preview

UI & Styling

  • Tailwind CSS v4 (@tailwindcss/postcss)
  • Radix UI (radix-ui) + shadcn/ui conventions
  • class-variance-authority, clsx, tailwind-merge
  • lucide-react icons
  • Framer Motion 12, tailwindcss-animate / tw-animate-css
  • Embla Carousel + autoplay
  • next-themes, sonner, cmdk, vaul, input-otp, react-phone-number-input

Data, Charts & Interaction

  • Recharts 3.8 — dashboard charts
  • Axios — HTTP client
  • slugify

PDF & Documents

  • pdf-lib — server-side PDF order receipts

Analytics & Monitoring

  • @vercel/analytics
  • @vercel/speed-insights
  • IndexNow pings on product changes

API Documentation

  • Swagger/OpenAPI at /api-docs (SUPER_ADMIN gated) via next-swagger-doc + swagger-ui-react

Tooling & Code Quality

  • ESLint 9 + eslint-config-next
  • Prettier 3 + prettier-plugin-prisma
  • Husky + lint-staged
  • tsc --noEmit type checking
  • tsx for utility scripts (env-check, env-add, db-check)

CI/CD & Deployment

  • GitHub Actions — lint/typecheck/format/Prisma-validate/build/tests on every PR, plus testing & production deploy workflows
  • Vercel — primary deployment target (pnpm vercel-build)
  • Docker — multi-stage build, Node 24 Alpine, non-root user, Next.js standalone output

Features

Storefront

  • Product catalog served by a single catch-all router — category, subcategory, product-detail, and pre-owned listing pages
  • Product detail pages with image galleries and dynamic spec tables driven by per-category specification templates
  • Site search (/search) matching product name, brand, and category — non-canonical filtered results marked noindex
  • Order tracking by Order ID, PDF receipts, and a "Request Quotation" email flow
  • Static/informational pages — About, Blog, Careers, Gallery, Team, Reviews, Contact, Delivery, FAQs, policies, Services, Support

Checkout & Payments

  • Card via Stripe Checkout — cart re-priced server-side against the database; client-submitted prices are never trusted
  • KOKO Pay (buy-now-pay-later) — RSA-SHA256-signed payload redirect
  • Payzy — checkout payload proxied server-side to the external gateway
  • Bank Transfer — offline flow with an optional payment-slip upload
  • Every method writes a Payment record (method, amount, status, paidAt) linked to the order; CASH/OTHER exist for manually entered orders

Admin Dashboard

  • Revenue/orders analytics with period-over-period comparison (24h / 7d / 30d / 90d / 12m) and trend charts
  • Product management — CRUD, soft-delete/restore, ERP price & stock sync
  • Category, Branch, Order, and User management, role-gated (ADMIN / SUPER_ADMIN)
  • Specification templates — per-category structured spec fields driving the product Attributes form
  • One-click seed defaults for branches, services, spec templates, category filters, and nav groups

ERP Integration

  • Strictly one-way (pull) — nothing is ever written back to the ERP
  • OAuth-style token fetch with caching
  • Admin-triggered Sync Prices / Sync Stock actions matched by productCode
  • Live per-branch stock aggregation API for product pages

Authentication & Roles

  • Clerk-hosted sign-in with JWT session management
  • 3 roles — USER, ADMIN, SUPER_ADMIN — destructive actions gated to SUPER_ADMIN
  • Admin sessions auto-expire after 6 hours of inactivity

Email & Communication

  • React Email templates sent via Nodemailer/SMTP for contact, newsletter, and quotation emails
  • Shared partials — header, footer, product info, user info
  • WhatsApp click-to-chat across checkout, quotation emails, and contact info

Storage

  • 3 interchangeable providers — Backblaze B2 (default), Vercel Blob, Supabase Storage — chosen per upload
  • Deleting a file auto-detects its provider from the stored URL

Platform & Reliability

  • SEO-friendly URLs, dynamic sitemap, robots.txt tuned for AI/AEO crawlers, JSON-LD structured data
  • IndexNow pings on product changes for faster search indexing
  • Rate-limited public endpoints — checkout, payments, contact, newsletter, quotation, orders
  • Multi-branch stock management and order/delivery status tracking
  • Responsive design with light/dark theming
  • Vercel Analytics + Speed Insights

Admin Panel — Client-Side Customization

Homepage Sections

  • Hero Banner & Hero Video — separate mobile/desktop slots, sort order, active/show toggles
  • Pro Categories — the "shop by category" tile grid, edited against a live device-framed preview
  • Special Categories (Deals) — promotional tiles with CTA, link, and priority ordering
  • Stats Section — heading/subtext + 3 stat tiles, independent light/dark color and font size/family/weight per mobile & desktop

Navigation & Promo

  • Header navigation — a nested group/link structure; add, reorder, or remove entries with no redeploy
  • Promo Bar — message + link, background/font color with a contrast helper, start/stop scheduling, a live countdown timer, independent mobile/desktop heights
  • Logos — header and admin-sidebar logo, instant preview, one-click reset to default

Filters & Specifications

  • Per-category specification templates (label, required flag, placeholder, sort order) drive the product "Attributes" form and the spec table shoppers see
  • Category filter fields power storefront listing filters, seeded per category alongside branches, services, and nav groups

Publishing Model

  • Every Appearance module reads through a cached singleton, invalidated on save — edits go live immediately, with zero redeploys

SEO / AEO / GEO / AIO

88 / 100 overall

SEO

82

Structured data and canonical discipline across every dynamic route.

AEO

90

FAQPage + Speakable schema, per-product Q&A, server-rendered answers.

GEO

88

llms.txt + llms-full.txt + a single source of truth for name/address/phone.

AIO

94

A discovery manifest, a stateless MCP catalog server, and permissive AI-bot robots rules.

Architecture & Design Patterns