Selected work / 01
ASO CLO
Full-stack commerce & partner isolation
A bilingual e-commerce application with backend APIs and one shared dashboard serving three partner accounts, each with its own products and orders. Demonstrated locally with sample data.
Challenge
Connect the shopper journey to the operational side of a store: a usable catalog for customers and a clear workspace for the partners managing it.
Approach
Built one storefront and one reusable dashboard shell backed by Next.js route handlers. Each of the three partner accounts resolves to a stable partner ID; admin routes derive that identity from the signed session and scope product/order reads and writes to it. Checkout derives prices from stored product data, validates stock and variants, and groups orders by partner. Implemented Supabase database and image-storage adapters; verified the presentation workflow with isolated local fixtures.
Outcome
A working local Next.js demo covering storefront and partner operations. Verified session protection, partner isolation, variant/stock validation, and server-calculated totals. The public link opens a separate standalone storefront preview.
My role
I designed and implemented the entire application: responsive Arabic/English storefront, product discovery, cart, backend checkout and management APIs, signed admin sessions, one shared dashboard for three partner accounts, data models, Supabase database/storage integration, and testing. The screenshots show my local Next.js presentation with sample commerce data and anonymized personal identities.
Key features
- Arabic/English storefront with category, search, price filtering, and sorting
- Product size and color selection, stock limits, and a persistent cart
- Demo checkout with server-derived prices, variant validation, and stock checks
- One shared dashboard for three partner accounts, each with partner-scoped products, orders, and financial summaries
- Product management, stock/availability controls, order status, paid/outstanding balances, and CSV reports
- Signed, expiring admin cookie sessions and server-side product/order ownership checks
- Supabase database and image-storage integration in the code; demonstrated locally with isolated sample data
- Order tracking with masked customer information
How it works
- 01
Browse & choose
Search or filter the catalog, open a product, choose a valid size/color, and add an available quantity to the cart.
- 02
Validate & create
The demo checkout route checks product variants and combined stock, calculates prices on the server, and creates unpaid orders grouped by partner.
- 03
Manage & track
One shared dashboard serves three separately authenticated partner accounts. The signed session identifies the partner; server routes scope products and orders to that partner, and dashboard summaries reflect the returned data. A customer-facing tracking route returns order status with masked information.