Image of Bookstore home pageImage of Bookstore browse pageImage of Bookstore book pageImage of Bookstore checkout page

Project Description

An online bookstore application with a featuring a Hero Page, a Browse page, individual book pages, and an efficient checkout system.

(see demo images below)

Key Features

  • Persistent User State: React useContext hook allows for persistent state on the client side between page changes and page refreshes
  • Server-side and Client-side JavaScript: Used Server-side Rendering for efficient page loading, supplemented by client side React for responsive user interaction
  • Smart Checkout: The checkout process takes tax and shipping into account when calculating the user's total
  • Web Hosting: Using Vercel and Supabase for free application and database hosting

Design Decisions

  • Utilized Prisma ORM for easy integration between Next.JS and PostgreSQL
  • Implemented Next.JS dynamic routes to create a repeatable template for individual book pages
  • Simple layout to align with what users expect in an online store

Built with Next.JS, Framer Motion and Chakra UI