Skip to content

Melmonster13/GraveGoodsShop

Repository files navigation

GraveGoodsShop

Modern e-commerce website built with Next.js, TypeScript, Tailwind CSS, and PostgreSQL.

Tech Stack

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Database: PostgreSQL with Prisma ORM
  • Authentication: NextAuth.js (optional)

Getting Started

Prerequisites

  • Node.js 18+
  • PostgreSQL database

Installation

  1. Clone the repository

  2. Install dependencies:

    npm install
  3. Set up environment variables:

    cp .env.example .env

    Update .env with your database credentials.

  4. Initialize the database:

    npx prisma generate
    npx prisma db push
    npm run db:seed
  5. Run the development server:

    npm run dev
  6. Open http://localhost:3000

Project Structure

/src
  /app              # Next.js App Router pages
  /components      # Reusable UI components
    /catalog       # Product catalog components
    /cart          # Shopping cart components
    /checkout      # Checkout components
    /layout        # Layout components (Header, Footer)
    /ui            # Primitive UI components
  /lib             # Utilities and database client
  /types           # TypeScript type definitions
/prisma            # Database schema and migrations
/public            # Static assets

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run ESLint
  • npm run db:generate - Generate Prisma client
  • npm run db:push - Push schema to database
  • npm run db:migrate - Run database migrations
  • npm run db:seed - Seed the database

Features

  • Product catalog with filtering and sorting
  • Shopping cart with localStorage persistence
  • Checkout flow (UI scaffold)
  • Server-side pricing validation
  • Mobile-first responsive design

License

MIT

About

E-Commerce Website

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors