All projects

Ecommerce · Shipped

Aesthetic Store — Fullstack Ecommerce

A fullstack ecommerce store with Stripe + Cash on Delivery payments, admin panel, and a premium playful & bold design.

Aesthetic Store — Fullstack Ecommerce main screenshot

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

Stripe Checkout and Cash on Delivery payment methods
Unified shipping address collection for both payment methods
Free shipping over $50 ($5.99 otherwise) with automatic calculation
Admin dashboard with sales stats and recent orders (recharts)
Products CRUD with image galleries and featured toggle
Orders management with status updates (PENDING, PAID, SHIPPED, DELIVERED)
Categories CRUD for product organization
Email/password authentication with NextAuth v5 and JWT sessions
Role-based access control (USER / ADMIN) with guarded admin routes
Dark claymorphism design with 12 seeded products across 4 categories
Zustand cart with localStorage persistence and quantity controls
Mobile-responsive storefront with category filters

06 — Screenshots

Aesthetic Store — Fullstack Ecommerce screenshot 1
Aesthetic Store — Fullstack Ecommerce screenshot 2
Aesthetic Store — Fullstack Ecommerce screenshot 3

07 — Outcome

A production-shaped storefront with payments, admin analytics, and order management — 12 seeded products across 4 categories ready to demo.

Tech stack

Next.js 16TypeScriptTailwind CSS v4Prisma 7Neon (PostgreSQL)NextAuth v5Stripe CheckoutZustandRechartsResend