The challenge
Fusen Gum needed an online store that could sell more than gum. The catalog I mapped out puts the bubble gum next to bear-mascot T-shirts, hoodies, socks, stickers and banners, and the shop needed accounts, a cart and card payments for all of it.
Rather than build auth, checkout and an admin from scratch, I started from the Shofy full-stack template and put the time into making it Fusen's.
The approach
The template ships as two apps: a Next.js storefront and an Express and MongoDB API. I deployed my own copy of the API, pointed it at a new MongoDB database, seeded Fusen's categories and first products, and repointed every RTK Query endpoint in the storefront from the template's demo server to mine.
On the front end I replaced the logo, favicon and hero slides with Fusen artwork, rebuilt the products mega menu around Gum, Clothing and Extras, cut the template's demo homes, coupon and extra blog layouts from the navigation, and rewrote the banners, page titles, footer and contact details for the brand.
- Brand-led heroFour slides built from Fusen's own artwork: the gum box, the bear T-shirt, wrapper art and the hoodie.
- Catalog by categoryGum, Clothing and Extras menus with T-shirts, hoodies, stickers and more, backed by seeded MongoDB categories.
- Accounts and ordersEmail signup with an activation link, Google sign-in, profile and order history from the template's API.
- Stripe checkoutCard payments through a Stripe PaymentIntent created by the API and confirmed in the browser.
Template to Fusen store
- 01DeployOwn Express API and MongoDB
- 02SeedFusen categories and products
- 03RebrandLogo, slides, menus, copy
- 04ConnectStorefront endpoints to my API




