Skip to content

Personal · 2025

Pizza Shop

A pizza shop with ingredient customization, a persistent cart, Stripe Checkout and GitHub and Google sign-in.

Next.jsTypeScriptPostgreSQL

Problem

Build the complete ordering flow: choose a pizza and ingredients, save the cart, calculate the total and proceed to payment.

Implementation

  • Product catalogue with filters, modal product details and ingredient selection.
  • PostgreSQL-backed cart with ingredients, quantities and total calculation.
  • Prisma models for products, carts and orders.
  • NextAuth authentication with GitHub and Google providers.
  • Stripe Checkout sessions, order storage and transactional emails through Resend.

Decision

Next.js App Router combines pages and server operations. Prisma describes the relationships between products, ingredients, carts and orders, while Stripe handles the payment form.

Keep the selected ingredients, cart total and order data consistent when proceeding to payment.

Outcome

The shop's source code is published on GitHub; the portfolio retains a link to the Vercel demo.