Mediterranean Delight is a full-featured restaurant website showcasing authentic Mediterranean cuisine. Built with Next.js 15, it offers an interactive menu, reservation system, and online ordering capabilities, providing a seamless experience for customers.
🌐 Live Preview: mediterranean-delight-next.vercel.app
- Interactive Menu: Browse signature dishes with detailed descriptions and pricing.
- Reservation System: Book tables directly through the website.
- Online Ordering: Secure checkout powered by Stripe.
- Authentication: User login and registration with NextAuth.
- Responsive Design: Optimized for all devices.
- SEO Friendly: Enhanced visibility on search engines.
- Framework: Next.js 15.3.1
- Language: TypeScript
- Styling: Tailwind CSS 4
- Database ORM: Prisma 6.6.0
- Authentication: NextAuth
- Payment Processing: Stripe
- Form Handling: React Hook Form, Zod, @hookform/resolvers
- Email Services: Nodemailer
- Date Utilities: date-fns
-
Clone the repository:
git clone https://github.com/codedpro/mediterranean-delight-next.git cd mediterranean-delight-next -
Install dependencies:
npm install # or yarn install -
Set up environment variables:
Create a
.env.localfile and add the necessary environment variables as specified in.env.example. -
Generate Prisma client:
npx prisma generate
-
Run the development server:
npm run dev # or yarn devOpen http://localhost:3000 in your browser.
├── components/ # Reusable UI components
├── pages/ # Next.js pages
├── prisma/ # Prisma schema and migrations
├── public/ # Static assets
├── styles/ # Global styles and Tailwind configurations
├── utils/ # Utility functions
├── types/ # TypeScript type definitions
├── .env.example # Example environment variables
├── tailwind.config.js # Tailwind CSS configuration
└── package.json # Project metadata and scriptsnpm run dev– Start the development servernpm run build– Build for productionnpm run start– Start the production servernpm run lint– Run ESLint to analyze code quality
- Next.js – The React Framework
- Tailwind CSS – Utility-first CSS framework
- Prisma – Next-generation ORM
- Stripe – Payment processing platform
- NextAuth – Authentication for Next.js
- React Hook Form – Form state management
- Zod – TypeScript-first schema validation