Loading Marwan Elsayed
Skip to main content
Back to Work

E-commerce

Lumber Cart

A customer-facing e-commerce storefront with product browsing, cart and checkout.

Started
2025
Status
Completed
Role
Front-end developer
Area
E-commerce
Stack
Next.js, React, TypeScript, Tailwind CSS
What I implemented

Implemented the building-supply storefront front end, including catalogue browsing, product selection, cart and checkout interfaces.

Capture of the Lumber Cart home page shown with sample data.
Real interface, sample data

Context / scope

Overview and scope

A storefront built on the ToolSwift commerce platform.

Beyond the shop pages, the code has careers pages with an application form, a credit application and a pro account page.

Front-end developer. The CV lists integrated DTC e-commerce storefronts among the front ends built.

Results

  1. The CV records no result figures for this project, so none are stated.
  2. The storefront captures use invented products, prices and store details; brand names and logos are the project's own.

Interface / screens

Walkthrough

Capture of the Lumber Cart home page shown with sample data.
Home page. Real interface, sample data.
1 of 6
Lumber Cart

Home page. Real interface, sample data.

1 of 6

Screen 1 of 6: Home page. Real interface, sample data.

Screen 1 of 6: Home page. Real interface, sample data.

Behaviour / flows

Features and flows

Opening a product selection

  • Product pages read the variant and quantity from the URL, falling back to the lowest-price or first variant when no variant is supplied.
  • The product page clamps the requested quantity to at least one and renders a product error screen if loading fails.

Engineering / decisions

Architecture and decisions

Next.js 16 with React 19 and TypeScript, using MUI components with Tailwind CSS 4 styling and the shared Tailwind config.

Data is fetched with TanStack Query and held in jotai atoms.

A client boundary for shared commerce screens

A dedicated use-client module re-exports the shared commerce components so server pages consume client references. The catalogue wraps its screen in Suspense because the shared screen reads search parameters.

Limits / notes

Known limitations

  1. The screenshots omit the intro video and use neutral tiles in place of people photos.

Stack / tools

Technologies

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • MUI
  • TanStack Query
WhatsApp (opens in a new tab)