Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 1.75 KB

File metadata and controls

65 lines (47 loc) · 1.75 KB

Next.js Shoe Store Demo

This is a demo e-commerce shoe store built with Next.js. It showcases:

  • Product listing and filtering by brand and gender
  • Add-to-cart functionality with quantity and size selection
  • Cart persistence across page refreshes using session cookies and a local SQLite database (for demo/development only)
  • Simple, modern UI with React context for state management

Features

  • Browse shoes by brand and gender
  • View product details
  • Add products to cart with selected size and quantity
  • Cart contents persist across page refreshes (per session)
  • No user authentication required

How Cart Persistence Works

Cart data is stored on the server in a local SQLite database, keyed by a session cookie. This is suitable for local development and demo purposes only. This approach will not work on Vercel or other serverless platforms.

Getting Started

  1. Install dependencies:

    npm install
    # or
    yarn install
    # or
    pnpm install
    # or
    bun install
  2. Run the development server:

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
    # or
    bun dev
  3. Open http://localhost:3000 in your browser.

Project Structure

  • app/ — Next.js app directory (pages, layouts, API routes)
  • components/ — React UI components
  • providers/ — React context provider for global state
  • types/ — TypeScript types
  • utils/ — Utility functions (session, cart persistence, etc.)
  • db.ts — SQLite/Drizzle ORM setup and schema

Limitations

  • Cart/session data is stored in a local SQLite file. This is not suitable for production or serverless hosting (e.g., Vercel).

License

This project is for demo and educational purposes only.