Product Creation & E-Commerce Platform
2026 - PresentOverview
A full-stack product creation and e-commerce platform: a Next.js/React storefront with a live Konva/react-konva customization studio, a separate Next.js/React admin app, and an ASP.NET Core Web API on Azure SQL and Blob Storage. Stripe checkout, JWT auth with role-based authorization, and SignalR notifications are shipped through a gated GitHub Actions/Playwright pipeline to staging and production.
Problem & Context
Sellers of customizable products need two things most off-the-shelf storefronts don't offer together: a design studio where a buyer can personalize a base product in real time, and an operations side where staff can manage base products, design assets, shipping/production rules, and orders without touching the database directly. This platform covers both halves end to end, not just the customer-facing storefront.
My Role
Responsible for the full stack: the Next.js/React storefront and the separate Next.js/React admin application, the ASP.NET Core Web API and its EF Core data layer, the Azure infrastructure (SQL, Blob Storage, App Service), the CI/CD pipeline, and the Playwright test suite.
Architecture
Key Engineering Decisions
- Storefront and admin are split into two separate Next.js apps sharing one ASP.NET Core API, so each can be deployed, scaled, and rolled back independently.
- JWT access tokens with refresh tokens and role-based authorization protect both the customer-facing API and the admin API, with separate account and role models for customers versus internal staff.
- Azure SQL stores relational data (products, orders, accounts); Azure Blob Storage stores uploaded design assets and generated previews, keeping large binary files out of the database.
- Every pull request runs the Playwright end-to-end suite before merge, and promotion from staging to production is a separate, gated GitHub Actions workflow rather than an automatic push.
Challenges & Trade-offs
Splitting storefront and admin into separate apps duplicates some infrastructure and auth plumbing, but was chosen over a single monolith so admin tooling changes can't accidentally break the public storefront, and the two can scale independently.
Testing & Deployment
Pull requests run lint, type checking, the build, and the Playwright end-to-end suite via GitHub Actions before merge. Scheduled and on-demand workflows add a nightly regression pass and WebKit-specific smoke tests. Deploys to staging and production are separate, gated workflows targeting Azure App Service (API) and Vercel (storefront and admin), so a release only reaches production after passing staging.
Results & Current Status
Feature-complete for the core flow — product customization, cart, Stripe checkout, order management, and the admin back office — and running on staging, including the public read-only admin demo linked above. It has not yet opened to paying customers in production, so there are no live usage or revenue numbers to report; the current focus is finishing production rollout.
Tech Stack
Frontend: Next.js, React, Konva/react-konva
Backend: ASP.NET Core, .NET, Entity Framework Core, SQL Server, Azure SQL, Azure Blob Storage, JWT
Real-time: SignalR
Payments: Stripe
DevOps: GitHub Actions, Playwright, Azure App Service, Vercel