Skip to content
This repository was archived by the owner on Oct 25, 2026. It is now read-only.

Features

Syed Ahmer Shah edited this page Oct 25, 2026 · 1 revision

Features

Storefront

  • 1,186 products across 8 departments, 118 categories and 212 brands, with prices, discounts, stock, prescription flags, generics, uses, dosage, precautions and warnings.
  • Local WebP images in two sizes (640/320) with srcset; catalog:cache-images rejects placeholder images by perceptual hash and colour check.
  • Server-side filters (category, brand, form, Rx/OTC, stock, price), sorting, pagination and ⌘K instant search.
  • Product pages: photo and 3D pack viewer, delivery estimate by city, price-insight histogram, "same salt, other brands", recently viewed, Product JSON-LD.
  • Sold out? In-stock alternatives matched by active ingredient, then category and price, with a one-tap swap.
  • 3D body map: a sculpted SDF mannequin baked into a 456 KB Brotli mesh. Tap where it hurts, pick a symptom, get self-care tips, red flags and pharmacist picks. Emergency symptoms show urgent-care guidance instead of products.
  • Motion: fly-to-bag and fly-to-wishlist flights, a capsule cursor, GSAP/Lenis scrolling and SplitText reveals. Everything respects prefers-reduced-motion.
Shop Product page
Shop: filters, sorting, 1,000+ products Product: price insight, alternatives, delivery estimate
3D body map Assistant
3D body map: tap where it hurts Assistant: preset questions, personal answers

A store that adapts to each shopper

Every visitor builds a quiet profile (views, time on page, bag adds, purchases per product). An offer engine turns it into personal discounts, capped at 15%, time-limited and redeemed inside the order transaction:

Behaviour Offer
Kept coming back to a product without buying Hesitation: 8% on that product, 3 days
Left an item in the bag Bag rescue: 5% on that item, 2 days
Buys the same product repeatedly Regular: 10% on it, 1 week
First visit with no orders Welcome: 5% off the first order
Several orders Loyalty: 5–10% off the next order
Inactive for a while Comeback: 7% off

Also: "picked for you", "buy again" and "pairs well with" rails, and A/B experiments with stable crc32 bucketing, de-duplicated events and variants that stick through sign-in.

Guided assistant

A chat panel with no free-text box: shoppers pick preset questions, so there are no prompt injections, no hallucinated medical advice and no PII typed into a bot. Answers are built on the server and personal: my order, my bag, my offers, my prescription status.

Ordering

  • Session bag with prices re-read from the database, a free-delivery threshold and per-order caps.
  • Drug-interaction warnings from each product's active ingredients: 24 conservative rules in resources/content/interactions.json (two paracetamol products, blood thinner + NSAID, sildenafil + nitrate, SSRI + tramadol…). Topical forms are ignored. A serious warning must be acknowledged, and warnings are stored on the order for the pharmacist.
  • Card payments or cash on delivery. See Payments.
  • Stock is decremented under row locks; an idempotency token stops double submits.
  • Prescription upload is required for Rx items; files are private.
  • Order tracking by number plus e-mail, and order history.
  • Refill reminders: the customer's real order rhythm (median gap, 7–120 days) triggers one e-mail per purchase cycle, 3 days before they run out, with a signed "put it back in my bag" link.

Accounts

  • Register, sign in, password reset, avatar, phone, and an address with an OpenStreetMap picker.
  • A readable random username (e.g. calm-heron-4821) that only an admin can change.
  • Recent sign-ins with device, browser and approximate place.
  • Optional two-step sign-in (TOTP, RFC 6238) with eight recovery codes and replay protection.
  • Passwordless "e-mail me a code" sign-in without account enumeration.
  • Guest wishlist and activity merge into the account on sign-in.

Languages

English and اردو (Urdu) with a full right-to-left layout and Noto Nastaliq Urdu: a 1,460-entry dictionary covering storefront, policies, checkout, admin and error pages, switched instantly with no reload. hreflang alternates in the sitemap and <head>.

Mobile   Mobile in Urdu

Speed

  • Inertia SSR: storefront pages arrive as full HTML and hydrate without a mismatch; the head stays server-rendered by Blade.
  • No full page reloads; hovering a link prefetches its data and JS chunk.
  • Immutable caching for hashed assets, Brotli and gzip.
  • Theme toggle with a circular View Transition and no flash; branded 404, 419, 429, 500 and 503 pages.

SEO & AI discoverability

  • Unique title and description, canonical, Open Graph, Twitter cards, robots and hreflang on every page.
  • JSON-LD: Pharmacy/OnlineStore, WebSite + SearchAction, Product, BreadcrumbList, FAQPage, ItemList, ContactPage.
  • /sitemap.xml with lastmod and language alternates; /robots.txt that welcomes named AI crawlers and keeps them out of private areas.
  • /llms.txt and /llms-full.txt guides for AI agents. Private pages are noindex.

Clone this wiki locally