Skip to content

vitorschelb/ecommerce-app

Repository files navigation

Bellezza E-Commerce

A modern, full-stack e-commerce application built with Next.js 13, Sanity CMS, Stripe, and Tailwind CSS.


Screenshots

Home Page

Home Page

Shopping Cart

Shopping Cart


Tech Stack


Features

  • Product catalog with filtering by category, size, and color
  • Product search
  • Sorting by price and date
  • Shopping cart with Stripe checkout integration
  • Dark mode support
  • Responsive design
  • Sanity Studio for content management

Getting Started

Prerequisites

  • Node.js 16+
  • npm or yarn
  • A Sanity project
  • A Stripe account

Installation

  1. Clone the repository:
git clone [email protected]:vitorschelb/ecommerce-app.git
cd ecommerce-app
  1. Install dependencies:
npm install
  1. Set up environment variables:

Create a .env.local file in the root of the project with the following variables:

NEXT_PUBLIC_SANITY_PROJECT_ID=your_sanity_project_id
NEXT_PUBLIC_SANITY_DATASET=production
NEXT_PUBLIC_SANITY_API_VERSION=2023-05-12
STRIPE_SECRET_KEY=sk_test_your_stripe_secret_key
NEXT_PUBLIC_STRIPE_PUBLIC_KEY=pk_test_your_stripe_public_key
  1. Run the development server:
npm run dev

Open http://localhost:3000 with your browser to see the result.

The Sanity Studio is available at http://localhost:3000/studio.


Available Scripts

Script Description
npm run dev Start the development server
npm run build Build the application for production
npm run start Start the production server
npm run lint Run ESLint
npm run lint:fix Fix ESLint issues
npm run preview Build and start the production server locally
npm run typecheck Run TypeScript type checking
npm run format:write Format code with Prettier
npm run format:check Check code formatting

Project Structure

.
├── app/                # Next.js App Router
│   ├── api/            # API routes
│   ├── cart/           # Cart page
│   ├── products/       # Product detail page
│   ├── studio/         # Sanity Studio
│   ├── success/        # Checkout success page
│   ├── layout.tsx      # Root layout
│   └── page.tsx        # Home page
├── components/         # React components
├── config/             # Configuration files
├── lib/                # Utility functions & Stripe setup
├── sanity/             # Sanity configuration & schema
├── styles/             # Global styles
├── public/             # Static assets
└── screenshots/        # Project screenshots

License

This project is private.

About

Modern boutique experience built with Next.js, Sanity CMS, and Stripe

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors