Skip to content
(03/03)  Case studyE-commerce · Storefront + admin

BareThreads

A full-stack fashion e-commerce platform: a React storefront and admin suite on a secure, serverless Express/MongoDB API.

Role
Designed & built end to end
Year
2024

React 19 / Redux Toolkit / Express / MongoDB / PayPal / Vercel

barethreads.vercel.appLive
BareThreads: the live site

The real site, interactive, right here

2 sides
Storefront + admin
40+
Products
9
Redux slices
REST
API · two origins

The problem

Anyone can list products. Few feel like a brand.

I set out to build a real online store: premium on the surface, secure and correct underneath. So I designed and engineered the whole thing, end to end.

The product

One platform, two sides.

A polished storefront for shoppers and an admin suite for the team, sharing one secure REST API.

barethreads.vercel.appLive
BareThreads storefront collection page
Fig. 01Shop the edit: a filterable catalog by category, gender, size, colour, brand and price, with live sort and removable filter chips.

Storefront

Built to convert.

01

Product pages that sell

Cursor-following magnifier zoom, a thumbnail gallery, size & colour pickers, discount pricing and “complete the look”.

02

Cart to checkout

Build a cart as a guest, then merge it on sign-in. Stock-validated quantities and PayPal checkout through to order confirmation.

03

Ratings & reviews

Customers rate and review; product averages are computed server-side with an aggregation, so every screen agrees.

04

Sign in, your way

Email & password or Continue with Google, both verified server-side and issuing the same secure session.

Mobile storefront

Shoppable from the thumb.

BareThreads on mobile, scrolling the live storefront
The live storefront on a phone
Mobile new-arrivals carousel
New arrivals
Mobile product page
Product page
barethreads.vercel.appLive
BareThreads product detail page
Fig. 02A product page with magnifier zoom, gallery, size/colour pickers and a server-computed rating.

Admin suite

Run the store.

01

Full CRUD, role-gated

Manage products, orders and users behind admin-only routes, with every write field-whitelisted on the server.

02

At a glance

Revenue, total orders and product counts, with recent-order status from Processing through to Delivered.

barethreads.vercel.appLive
BareThreads admin dashboard
Fig. 03The admin dashboard: products, orders and users, all behind role-gated, admin-only routes.

Under the hood

Secure & serverless.

01

Serverless-safe data layer

A cached Mongoose connection is awaited inside each request, so the API connects reliably on Vercel's serverless runtime, fixing the cold-start failures that kill fire-and-forget connects.

02

Auth, two ways

JWT in cross-site httpOnly cookies, plus Google sign-in verified server-side from an ID token. Both issue the same session.

03

Authorization at the controller

Ownership checks scope every order and checkout to its owner; admin routes are gated. IDOR holes closed, writes field-whitelisted.

04

Correct commerce

Guest→user cart merge, server-computed ratings, discount pricing and stock validation, behind a consistent JSON error contract.

StackWhy each piece

React 19 · Vite · Redux Toolkit

A fast SPA with predictable state across 9 slices and clean async data flows.

Tailwind v4 · Framer Motion

A token-based design system with parallax, scroll-reveal motion and 3D product cards.

Express 5 · MongoDB (Mongoose)

A REST API with a resilient, serverless-safe data layer and a global error handler.

JWT · Google OAuth · PayPal · Cloudinary · Vercel

Secure auth, payments, media and serverless hosting across two deployments.

Your turn

Want onelike this?

Tell me what you're building. You'll hear back within 24 hours, with a fixed quote before any work starts.

(01/03)  Next case study

Quit Gambling

A full-stack recovery platform for gambling addiction.

quitgambling.inLive
Quit Gambling preview