Skip to content

Marchenko1997/next-pizza

Repository files navigation

Next Pizza

Pizza Preview


πŸ• Project Overview

Next Pizza is a state-of-the-art, fully featured pizza delivery web application, drawing inspiration from leading online food delivery services.
Developed using Next.js 15, React 19, and Tailwind CSS 4, it showcases production-grade e‑commerce capabilities, ranging from advanced product filtering to customizable pizza creation.


πŸš€ Live Demo

Check out the live project here: Next Pizza Live


✨ Features

  • πŸ” Advanced Filtering – Filter by dough type, size, and price in real-time
  • πŸ• Custom Pizza Builder – Select toppings and customize your pizza before checkout
  • πŸ›’ Smart Cart System – Real-time cart updates with toast notifications
  • πŸ” User Authentication – Secure login and account management using NextAuth
  • πŸ’³ Secure Checkout – Integrated order flow with confirmation
  • πŸ”” Notifications – Real-time feedback and alerts using react-hot-toast
  • 🎨 Modern UI Components – Built using Radix UI and TailwindCSS animations

πŸ›  Tech Stack


πŸ“¦ Installation & Setup

1. Clone Repository

git clone https://github.com/your-username/next-pizza.git
cd next-pizza 

2. Install Dependencies

npm install
yarn install

3. βš™οΈ Configure Environment Variables

Create .env.local in the root directory:

# Database
POSTGRES_URL="your_postgres_connection_string"
POSTGRES_URL_NON_POOLING="your_postgres_non_pooling_string"

# Authentication
NEXTAUTH_SECRET="your_nextauth_secret"
NEXT_PUBLIC_API_URL="http://localhost:3000"

# OAuth Providers
GITHUB_ID="your_github_oauth_id"
GITHUB_SECRET="your_github_oauth_secret"
GOOGLE_CLIENT_ID="your_google_oauth_id"
GOOGLE_CLIENT_SECRET="your_google_oauth_secret"

# Email Service
RESEND_API_KEY="your_resend_api_key"

4. Database Setup

npx prisma generate
npx prisma db push
npx prisma db seed

5. Run Development Server

npm run dev

πŸ“ Project Structure

next-pizza/
β”œβ”€β”€ app/                # Next.js App Router
β”‚   β”œβ”€β”€ (pizza)/        # Pizza pages
β”‚   β”œβ”€β”€ (checkout)/     # Checkout process
β”‚   β”œβ”€β”€ api/            # API routes
β”‚   └── globals.css     # Global styles
β”œβ”€β”€ components/         # UI components
β”œβ”€β”€ prisma/             # Database schema & migrations
β”œβ”€β”€ public/             # Static assets
β”œβ”€β”€ hooks/              # Custom hooks
β”œβ”€β”€ lib/                # Utilities & configs
└── tsconfig.json       # TypeScript configuration

πŸ”§ Development

Generate Prisma Client

npx prisma generate

Push Schema Changes

npx prisma db push

View database in Prisma Studio

npx prisma studio

Reset database

npx prisma db reset

πŸ—οΈ Building for Production

npm run build npm start


πŸš€ Deployment

The application is deployed on Vercel with the following setup:

  • Database: PostgreSQL hosted on Vercel Postgres
  • Environment Variables: Configured in Vercel dashboard
  • Automatic Deployments: Connected to GitHub for CI/CD

Deploy to Vercel

  1. Push your code to GitHub
  2. Connect your repository to Vercel
  3. Configure environment variables in Vercel dashboard
  4. Deploy automatically on every push to main branch

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ Recent Updates

  • βœ… Implemented server-side filtering with URL-based state management
  • βœ… Developed a full-featured cart and checkout workflow
  • βœ… Added support for multiple authentication providers (GitHub, Google)
  • βœ… Enabled email verification and notification features
  • βœ… Built a user profile management dashboard
  • βœ… Integrated modal views and parallel routing for product details
  • βœ… Configured PostgreSQL database using Prisma ORM
  • βœ… Successfully deployed to Vercel with automated CI/CD pipelines

πŸ™ Acknowledgments

  • Inspired by DodoPizza for the design and functionality
  • Thanks to the Next.js team for the amazing framework
  • Vercel for providing excellent hosting and database services
  • The open-source community for the incredible tools and libraries

⭐ Enjoying the project? A ⭐ would be much appreciated!

About

πŸ• NextPizza β€” a cutting-edge full-stack pizza delivery platform offering smooth user experience and secure authentication, powered by Next.js 14 and Prisma.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages