Back to projects
Professional

Noor Boutique
Affaq Ahmed · Full Stack Engineer · ZySoftec · Web App / June 30, 2025
- Next.js
- React
- Node.js
- Express
- MongoDB
- Redux
- i18n
Overview
Noor Boutique is an e-commerce platform built for a boutique based in Libya. I built the complete system end to end — a customer storefront plus three internal panels: Admin, POS, and Delivery Driver — all served by a single backend. The entire platform is bilingual (Arabic & English) with full RTL and LTR support across every surface.
My Role & Contributions
I built Noor Boutique from scratch through to delivery as the full stack engineer, delivering all three panels along with the backend:
- Bilingual architecture — implemented an i18n-style architecture with full RTL/LTR support across all panels, and designed the database so that user-entered content is stored in both languages.
- Cart system — built the cart using Redux, kept in sync with the database.
- RBAC — implemented role-based access control on the Admin Panel.
- Inventory system — built a complete inventory system supporting multiple variants (colours and sizes).
- Payments — integrated a third-party Libyan banking payment method.
- UI design — contributed to the interface design.
Key Features
- Customer storefront — bilingual shopping experience.
- Admin Panel — management with role-based access control.
- POS — point-of-sale for in-store operations.
- Delivery Driver Panel — for managing deliveries.
- Full bilingual support — Arabic and English with RTL/LTR throughout.
- Variant-based inventory — products with colour and size variants.
- Redux cart — cart state coordinated with the backend.
Tech Stack & Architecture
- Frontend: Next.js and React, with Redux for state and an i18n-style architecture for bilingual content.
- Backend: Node.js / Express with MongoDB — the schema was designed to store user-input content in both Arabic and English.
- Payments: a third-party Libyan banking system.
- Surfaces: a customer storefront plus Admin, POS, and Delivery Driver panels, all sharing one backend.
Challenges & Solutions
- Bilingual, bidirectional UI — supporting Arabic and English meant building every one of the four surfaces for both RTL and LTR, and modelling the database so user-generated content is captured in both languages rather than just translated labels.
- Variant inventory — representing products across multiple colours and sizes required a flexible inventory model.
- Cart consistency — keeping the Redux-driven cart in sync with the database so the basket stays correct across sessions.
- One backend, four surfaces — a single backend had to serve the storefront, Admin, POS, and Delivery Driver panels cleanly.
Timeline
April 2025 – June 2025 · 3 months
Links
There's no public production link, but a frontend staging preview is available at nb-frontend-zysoftec.vercel.app.