Skip to content
Launching soon

Healthy Life Store

A complete new platform for an existing Jordanian store of health supplements and nutrition products, in Arabic and English.

Type
Online store and admin dashboard
Languages
Arabic and English, right-to-left and left-to-right
Scope
Storefront, admin dashboard, migration from the previous platform, deployment and backups
moonsoft's role
Design, development, deployment and maintenance setup
Status
Built and deployed, in handover, public launch pending
A Healthy Life Store product page in Arabic on a desktop screen: an image gallery, the price with a discount, the add-to-cart button and detail tabs.

An Arabic product page on desktop and phone. The storefront is a light interface, shown here untouched.

The same Arabic product page on a phone screen.

Context

The store was already running on an older platform, with customers and orders. Its shoppers are in Jordan and buy from their phones; the owner and staff run it from the admin.

The problem

The goal: a faster bilingual storefront the owner can run himself, with the catalogue, customers and orders moved across without losing any of them.

What we delivered

Storefront

  • Arabic and English with full right-to-left and left-to-right layouts, and a language switch that keeps you on the same page.
  • A catalogue with three levels of categories, brands, search that understands Arabic spelling variants, filters and sorting.
  • Product pages with a gallery, options, stock state, notify-me-when-available, related products, recently viewed, and reviews with photos and helpful votes.
  • Deals: bundles, gift with purchase, a featured deal, a coupons strip and a free-delivery threshold.
  • Cart and checkout for guests and accounts: cash on delivery, CliQ, or bank transfer with a receipt upload; order tracking by number and phone; order status emails in the order's language.
  • Accounts with email or Google sign-in, optional two-factor authentication, trusted devices, saved addresses, a wish list, and a newsletter with one-click unsubscribe.

Admin dashboard

  • Products, categories, brands, deals, coupons, banners, delivery cities and fees, and shipping settings.
  • Customers, orders with a status workflow, a messages inbox, and stock alerts.
  • Barcode scanning with the phone camera, and product lookup by barcode.
  • Excel export and import of the catalogue, with a bilingual sheet designed for non-technical use.
  • An image pipeline: automatic background detection, uniform 1600×1600 product images, and size warnings.
  • Owner and staff roles, every action authorised on the server, and an audit line for every change.

Engineering and operations

  • Next.js 16, React 19, TypeScript, Tailwind 4, PostgreSQL 18, Prisma 7 and Better Auth, with every write through Server Actions.
  • More than 3,000 automated tests, plus an acceptance suite before each release.
  • Server-side validation everywhere, rate limits, a Content Security Policy, a web application firewall, signed order links, encrypted payment receipts, and hashed IP addresses.
  • Containers on a private server, automatic TLS, releases with zero dropped requests, nightly encrypted backups mirrored off the server, restore drills, and external uptime monitoring.
  • The catalogue, customers and orders imported from the previous platform, product images moved, and every old product URL redirected.

Measured locally with Lighthouse on the development machine: first contentful paint on the home page went from 2.7 s to 1.4 s, and on a product page from 2.0 s to 1.1 s, after inlining critical CSS and resizing the hero images. Not a promise of similar numbers.

Screens

The same storefront in both languages: the whole layout follows the writing direction, not only the text.

The home page in English, left to right.
The home page in Arabic, right to left.

Design and engineering decisions

  1. Encrypted payment receipts

    A transfer receipt is a photo of someone's bank transfer, so it is encrypted at rest and shown only to the order's owner through a signed, short-lived cookie.

  2. An admin for one hand

    The admin was designed for a phone: filters in a bottom sheet, 44 px touch targets, card lists under 1024 px and tables above, without changing the desktop by a pixel.

  3. Product pages from the cache

    Product pages are prerendered and served from the cache. The only personal part is the header (cart and account), painted before the first pixel, so nothing pops in.

  4. Releases without downtime

    The new container proves it is the right commit and that it is healthy before the old one drains.

What became possible

  • The owner updates products, prices, deals and banners himself, including from a spreadsheet.
  • Customers order in Arabic or English on a phone and track the order without an account.
  • Releases and backups no longer depend on the developer being awake.

Status

Launching soon

The store is built, deployed and in handover. The public launch is up to its owner once the moonsoft site is ready, and we will not add a link before then.

Want this level of care for your project?We reply within two working days.

Or email us directly: moonsoft.ms@gmail.com