Starving Musician E-Commerce Platform

A full-stack e-commerce platform consolidating two legacy ZenCart storefronts into a unified Next.js + PHP platform for two retail locations.

Visit Site

Tech Stack

  • Next.js 16 & TypeScript
  • PHP REST APIs
  • MySQL (three databases across two retail locations)
  • NextAuth, custom-bridged to legacy ZenCart auth
  • JWT session tokens & HMAC order tracking
  • PayPal Express Checkout & direct credit card processing
  • PM2 on a VPS, coordinating with PHP APIs on shared hosting

Features

  • Unified ordering system with multi-location cart splitting, cross-store inventory, and dual-database order placement
  • 4-step checkout supporting PayPal Express Checkout, direct credit card processing, guest checkout, and multi-location order splitting
  • Guest checkout with JWT-based session tokens, HMAC order tracking, and automatic cart merging on account creation
  • Unified authentication layer bridging NextAuth with two legacy ZenCart customer databases
  • SEO-preserving migration via middleware-based 301 redirects for legacy URLs and dynamic sitemap generation across two product databases
  • 30+ React components, including a multi-image product gallery, responsive carousel, real-time search with filters, and reusable address/payment forms
  • Structured request-ID-based logging across TypeScript and PHP layers with an admin log viewer for production debugging

Impact

  • Nearly doubled online sales by consolidating two legacy storefronts into a single modern platform
  • Independently identified bottlenecks in the existing sites and built the case to gain leadership approval for the rebuild
  • Migrated all information, data, and assets from both legacy sites with zero downtime
  • Conducted a full-stack security audit and remediated 7 vulnerabilities, including CORS misconfiguration, SSRF, and PHP Object Injection, across payment processing endpoints

What I Learned

This project taught me how to own a production system end-to-end, from proposing the rebuild to leadership through deployment and ongoing maintenance. I learned how to bridge modern and legacy infrastructure without breaking existing payment processing or admin workflows, how to reason about security across a full stack under real payment traffic, and how to break down a large, monolithic checkout flow into a maintainable, modular architecture.

Please sign in to leave a comment.