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.
Check out the live project here: Next Pizza Live
- π 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
- Framework: Next.js 15 + React 19
- Styling: TailwindCSS 4 +
tailwind-merge+tailwindcss-animate - Forms: React Hook Form + Zod validation
- Database: Prisma ORM + PostgreSQL
- Authentication: NextAuth.js
- State Management: Zustand
- API & Requests: Axios
- Icons & UI: Lucide React + Radix UI
git clone https://github.com/your-username/next-pizza.git
cd next-pizza npm install
yarn installCreate .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"
npx prisma generate
npx prisma db push
npx prisma db seednpm run devnext-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
npx prisma generatenpx prisma db pushnpx prisma studio
npx prisma db reset
npm run build npm start
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
- Push your code to GitHub
- Connect your repository to Vercel
- Configure environment variables in Vercel dashboard
- Deploy automatically on every push to main branch
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- β 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
- 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

