Saltar al contenido principal
E-commerce

Al-MadinaIttar

Four independently deployable projects sharing one backend: a customer storefront, a mobile app, an admin dashboard and a REST API that is the single source of truth.

Jan – Aug 2024
Meridian Capital Group
8 months
al-madina.moffiitech.com
Al-Madina Ittar
2,400Active users
94%Faster reports
4Connected apps
1Shared REST API
7Scent families
250 AEDFree shipping over
Resumen del proyecto

The Challenge

One catalog, many surfaces

Web, mobile and admin all had to show the same products, orders and customers without drifting apart.

Discovery by scent

Shoppers browse perfume by fragrance family, not category, so the catalog needed scent-first navigation.

Friction at checkout

Customers needed to buy as a guest or with an account and still track their orders.

Running the business

The team needed to manage products, orders, customers and content from a single role-gated panel.

Mi rol

The Solution

MI PUESTO

Full-stack developer

CLIENTE

Al Madina Ittar

Web storefront

  • Home, shop, product detail and collections
  • Scent-family browsing and search
  • Cart, wishlist and checkout with order confirmation
  • Sitemap and robots for SEO

Mobile app

  • iOS and Android from one Expo codebase
  • Tokens kept in secure storage
  • Mock-or-remote data seam: build the UI without a backend by flipping one env flag
Galería

El producto en detalle

Home Desktop
Home Mobile
Login Desktop
Login Mobile
Product Desktop
Product Mobile
Funciones clave

Qué lo hace diferente

Accounts and orders

Dashboard, profile, saved addresses, order history and notifications, with guest checkout as an alternative.

Guest checkout · Order tracking

Secure auth

JWT access and refresh tokens with single-flight refresh, plus role-based access.

JWT · RBAC

Commerce rules

AED integer pricing, free shipping over 250 AED, standard or express delivery, readable order references (AM-#####) and loyalty tiers: Member, Connoisseur and Maison Elite.

AED pricing · Loyalty tiers

Admin dashboard

Manage the catalog, orders, customers and content behind role-gated endpoints.

Next.js · MUI
Resultados e impacto

Cifras tras seis meses en producción

4

Apps connected

Web, mobile, admin, API

End to end

Flow covered

Browse, checkout, fulfilment

Tecnología

Con qué está construido

Web

Next.js 16React 19Tailwind CSS 4GSAP

State

TanStack QueryZustand

Forms

React Hook Form + Zod

Mobile

ExpoReact Native

Admin

MUI 7

Backend

Node.jsExpressTypeScriptMongoDBRedis + BullMQ

Services

CloudinaryNodemailer
Reflexiones

Retos y aprendizajes

Retos

1

Keeping four apps consistent

A single API contract ({ data, message } for success, { status, message, code, details } for errors, standard pagination) with Zod validation returning 422 kept every client predictable.

2

Slow work on the request path

Emails and notifications go through Redis and BullMQ queues so responses stay fast.

3

Server and client state

Server state lives in TanStack Query; cart, session and wishlist live in Zustand.

Aprendizajes

1

Layer + feature architecture pays off

Splitting by feature first, then by layer (routes, controller, service, repository, schema on the API; api, hooks, components, schema, types on the front ends) made all four repos easy to navigate.

2

Share schemas end to end

Typed TypeScript and shared Zod schemas for forms and API validation caught contract drift early.