Ecommerce · Shipped
Aesthetic Store — Fullstack Ecommerce
A fullstack ecommerce store with Stripe + Cash on Delivery payments, admin panel, and a premium playful & bold design.

01 — The problem
Building a production-ready ecommerce store from scratch requires seamlessly integrating payments, user authentication, admin dashboards, order management, shipping logic, and a polished visual design — all while keeping the codebase maintainable and deployable.
02 — The approach
Built spec-first with 18 pages and 10 API routes. Stripe Checkout + Cash on Delivery with unified address collection for both payment methods. Zustand for client-side cart persistence with localStorage. Admin panel with recharts-driven dashboard. Free shipping over $50 with automatic calculation. Deployed on Vercel with Prisma 7 + Neon PostgreSQL.
03 — The spec
- Spec-first build: 18 pages and 10 API routes enumerated before implementation.
- Defined the order lifecycle: PENDING → PAID → SHIPPED → DELIVERED, with role guards on admin routes.
- Spec'd checkout parity: Stripe and COD share one address-collection flow.
04 — Decisions
Stripe + COD in one checkout
COD dominates local ecommerce; unifying address collection keeps the flow consistent for both.
Zustand cart with localStorage
Lightweight client state that survives refreshes without a server round-trip.
Prisma 7 + Neon
Type-safe schema for a relational store (products, categories, orders) on serverless Postgres.
RBAC on admin routes
Separating USER/ADMIN roles at the route level is the cheapest correct way to protect the dashboard.
05 — Features
07 — Outcome
A production-shaped storefront with payments, admin analytics, and order management — 12 seeded products across 4 categories ready to demo.
Tech stack

