

Bilingual (English and Arabic RTL) menswear store for Egypt with Paymob and cash on delivery checkout, an admin dashboard, WhatsApp order confirmation, and an AI virtual fitting room.

Client
Date
September 2026
Duration
5 weeks
Technologies
17 tools
STORE is a full storefront and admin dashboard for an Egyptian luxury menswear brand. It started as a frontend-only design with mock data and local storage, and I turned it into a production-ready store on Next.js 16 with a PostgreSQL database. Shoppers browse in English or Arabic with proper RTL layouts, pay by card or mobile wallet through Paymob or choose cash on delivery, and track orders without an account. Staff run the business from a dashboard covering products, variants and stock, orders, customers, coupons, shipping zones, homepage content, reviews, leads and roles. It ships with Docker, automatic HTTPS and backup scripts so it can be self-hosted on one server.
An Egyptian store has requirements most templates ignore. Payments have to work with Paymob cards and wallets and also with cash on delivery, where many orders are never confirmed or get refused at the door. Prices are charged in EGP while visitors may want to see other currencies. Shipping fees depend on the governorate. The whole storefront needs real Arabic RTL support, not a translated copy. On top of that, stock must not oversell while a card payment is pending, and webhooks can arrive twice or out of order. The store also needed ad tracking and landing pages without relying on cookies alone.
All business logic lives in server-only services with zod-validated Server Actions, so the client never prices a cart. Money is stored as integer piasters. Paymob orders reserve stock, and the webhook and redirect are verified by HMAC with race-safe confirm and cancel logic and automatic release of abandoned reservations. Cash on delivery orders can ask the customer to confirm by a link or a WhatsApp reply through Baileys, and unconfirmed orders cancel and return stock. Shipping zones match by governorate. Dashboard actions check per-user permissions and write to an audit log. I added first-party funnel counters, A/B landing pages and a Gemini-powered AI fitting room.
The repository delivers a complete store: a bilingual storefront on real data, server-priced cart and checkout, customer accounts with order timelines, guest order tracking, and a staff dashboard with roles and permissions. Operations are covered too: a CI pipeline for lint, typecheck, tests and build, a Docker Compose stack with Caddy HTTPS, health endpoint, Postgres backup and restore scripts, and a go-live checklist. Unit tests cover pricing, Paymob HMAC verification, i18n and redirect handling. The project is feature-complete and waiting on the business to enter real products and live payment keys, so no sales or traffic numbers are claimed.




