Brendon Rice
Back to work

Outfyd · Fashion e-commerce

An online store for Outfyd.

Outfyd sells women's clothing online, supplied through CJ Dropshipping. The site pulls the range in from CJ, takes payment through Stripe, and places the order with the supplier once it's paid.

ClientOUTFYD
RoleDesign and build
TypeE-commerce
outfyd.png

The brief

A working shop with no stock to hold.

The products come from a dropshipping supplier, so the store needed to show the supplier's range, price it in Australian dollars, take payment, and pass each paid order on to the supplier without anyone copying details across by hand.

The result is a standard storefront: home page, categories, search, product pages, cart, checkout, customer accounts and order history, plus the shipping, refunds, privacy and terms pages.

Live catalogueProducts, images and variants come from the CJ API across twelve women's clothing categories.
AUD pricingSupplier prices are converted from USD and marked up by price band, with shipping built into the price.
Stripe checkoutPayment happens on Stripe's hosted page, so card details never reach the site.
Automatic orderingWhen payment clears, the order is placed with the supplier and saved to the customer's account.

How it works

From browsing to delivery.

01

Browsing

Category, search and product pages request products from CJ through the site's own API routes. Those requests are cached and queued to stay under CJ's rate limit.

02

Pricing

Each price is converted to AUD, a shipping allowance is added, a markup is applied based on the cost band, and the result is rounded to .95. There's a small admin page that shows the formula and example margins.

03

Accounts

Customers register with a name, email, phone and delivery address. Passwords are hashed and sessions are stored server-side. The account page shows saved details and past orders.

04

Checkout and fulfilment

The cart goes to Stripe Checkout. Stripe's webhook confirms the payment, the site looks up the customer's delivery address, places the order with CJ, and records it against the account.

Stack

What it runs on.

FrameworkNext.js, App Router
LanguageTypeScript, React
ProductsCJ Dropshipping API
PaymentsStripe Checkout and webhooks
DataSQLite for accounts and orders
ContactEmailJS contact form
Next project Love in a Box ↗
Or All work