Cookie Preferences
We use cookies to keep the site running and improve your experience.
Learn more in our privacy policy .
Home About Portfolio Blog Contact
2

Issa Skin Therapy - A Production-Grade E-Commerce Platform for a Skincare Brand

StoreFront
test.issaskintherapy.com
Year

2023

Status

Archived

Tech Stack
Laravel Redis Stripe Filament Livewire Tailwind CSS PHP GSAP Spatie GA4 TikTok Events API Facebook CAPI DHL API Tabby

Gallery

Building an e-commerce store for a skincare brand sounds straightforward — until you factor in multiple currencies, Arabic/RTL support, installment payments, DHL logistics, and a marketing team that needs reliable conversion tracking.

I built Issa Skin Therapy as a full-stack, production-ready e-commerce platform tailored to Gulf regional markets. The system is designed to handle real business complexity — bundle products, coupon campaigns, affiliate commissions, and server-side analytics — while remaining fast and maintainable.


Core Capabilities

Issa Skin Therapy is designed as a complete commerce system, covering everything a skincare business needs to sell online:

  • Complete product catalog with variants, bundles, and multi-language content

  • Redis-backed shopping cart for guests and authenticated customers

  • Multi-step checkout with Stripe and Tabby installment payments

  • Multi-currency support with real-time location-based detection

  • Arabic/English with full RTL layout

  • DHL shipping integration for order export and live tracking

  • Coupon and affiliate system with commission tracking

  • Server-side analytics: Facebook Conversions API, TikTok Events API, Google Analytics 4

  • Admin panel with sales overview, inventory monitoring, and order management

  • SEO infrastructure with dynamic meta, Schema.org, and sitemap generation


Core Architecture

Redis-Backed Cart with a Service Layer

The cart needed to be fast, stateless, and consistent across guest and authenticated sessions. I built it on Redis with three dedicated services handling distinct responsibilities:

  • CartItemsRedisService — manages the line items

  • CartCostsRedisService — tracks totals, taxes, and shipping costs

  • CartCouponRedisService — stores applied discount state

A top-level CartService coordinates these services with a CartPriceCalculator and CartTaxCalculator, keeping the business logic clean and testable. The result is a cart that recalculates in real time — including on currency switches — without hitting the database on every interaction.

Multi-Currency with Location Detection

The platform supports AED, SAR, KWD …. and more . When a customer lands on the storefront, their currency is automatically detected based on location. Conversion is handled with the Swap library, and all monetary values are calculated with the Money library to avoid floating-point errors. The cart recalculates live when the customer switches currency, with no page reload required.

Bundle Products with Dedicated Inventory Logic

Beyond standard products, the platform supports bundles — curated sets with auto-calculated pricing based on their constituent items. Bundle inventory is managed separately through a BundleInventoryManager, which handles stock validation at the bundle level independently of per-item stock checks. This prevents overselling while giving the business flexibility in how bundles are stocked.

Payments - Stripe and Tabby Installments

The payment system is interface-based and extensible. Two gateways are implemented:

  • Stripe - PaymentIntent flow with webhook handling for async status updates

  • Tabby - 4-installment split with pre-scoring eligibility check before checkout. Customers see a promo snippet showing the per-installment amount before they commit.

Both gateways update order and payment status through a unified pipeline, with timestamps tracked for each state transition.

DHL Shipping Integration

Orders can be exported directly to DHL for fulfillment. The integration handles shipment creation, label generation, and live tracking status — keeping the order timeline updated without manual intervention.


Server-Side Analytics & Tracking

Browser-based pixels have become increasingly unreliable — iOS privacy changes, ad blockers, and cookie restrictions mean a significant portion of conversions go untracked. I implemented server-side event tracking for all three major ad platforms:

  • Facebook Conversions API — purchase, add-to-cart, and checkout events sent directly from the server

  • TikTok Events API — mirroring the same events for campaign attribution

  • Google Analytics 4 — Measurement Protocol for server-side event reporting

This approach gives the marketing team accurate data that isn't inflated or deflated by browser-side limitations, and keeps the storefront free of heavy third-party scripts.


Coupon & Affiliate System

The coupon engine supports fixed-amount discounts, percentage discounts, and free shipping, with configurable rules for minimum/maximum spend, date ranges, and per-customer usage limits. Coupons can be tied to affiliates, with AffiliateCommission records created automatically on qualifying orders — giving the business a full partner program without a third-party tool.


Admin Experience

The admin panel is built with Filament, extended well beyond the defaults.

Products & Catalog — Full product management with variant support, bundle configuration, media handling via Spatie, and translatable content fields for Arabic and English.

Orders & Customers — Complete order lifecycle management with status tracking, customer profiles, full order history, and multiple saved addresses per customer. Guest orders are searchable by email and order number.

Analytics Dashboard — Sales overview, product performance insights, stock monitoring widgets, and affiliate commission reporting.

Content & SEO — FAQ management, contact message handling, blog/post system, dynamic meta generation, Schema.org structured data, and automatic sitemap generation.

Data Export — Products, orders, and customers exportable to Excel/CSV via background jobs.


Performance & Architecture

The system is built to stay fast under real traffic:

  • Response caching with Spatie for storefront pages

  • Background queues for notifications, exports, and email delivery

  • Full-text search via Laravel Scout + TNT for product discovery

  • Type-safe enums throughout (OrderStatus, PaymentStatus, StockStatus, CouponType, etc.)

  • Trait-based model composition (HasPricing, HasMoney, HasDynamicSeo, HasTranslations)


My Role

  • Full system architecture and feature design

  • Backend development (Laravel ecosystem)

  • Frontend implementation (Livewire, Alpine.js, Tailwind CSS)

  • Payment integrations (Stripe, Tabby)

  • Shipping integration (DHL)

  • Server-side tracking infrastructure (Meta, TikTok, GA4)

  • Multi-currency and localization system

  • Admin dashboard with Filament

  • Service-layer design and Redis cart architecture


Let's Build Something Serious

If you're looking for a developer who can take a complex, real-world requirement — multi-currency, multi-language, multiple payment gateways, server-side tracking — and turn it into a clean, maintainable system, I'd love to talk.

Chat on WhatsApp