## Full-Stack Pizza Restaurant Website
A full-stack pizza restaurant web application that provides a complete online ordering experience for customers, along with an admin dashboard for managing the restaurant's data and orders.
### Technologies Used
* **Frontend:** React.js, Tailwind CSS, DaisyUI, React Router, Axios, Zustand, Formik & Yup
* **Backend:** Node.js, Express.js, MongoDB, Mongoose
* **Authentication:** JWT Authentication with Access & Refresh Tokens, Google OAuth
* **Other Technologies:** Redis, Nodemailer, Multer, Sharp, Helmet, Express Rate Limit
### Main Features
* User registration and login with email verification using OTP.
* Google authentication.
* Secure JWT-based authentication and authorization.
* Different roles and permissions for customers and administrators.
* Browse pizza products by categories.
* Product details, prices, discounts, availability, and featured products.
* Shopping cart with quantity and price management.
* Checkout and order creation with delivery information.
* Admin dashboard for managing:
* Products
* Categories
* Users
* Orders
* Image uploading and processing for products and categories.
* Backend API with protected routes and validation.
* Security measures including Helmet and rate limiting.
* Responsive user interface for different screen sizes.
The project was built to prac