This is a 3-level hierarchical platform where users can order food online, restaurant owners can add/update categories and menu items, manage customer orders, and admins can manage all the restaurant owners.
- Next.JS
- MongoDB
- Cloudinary
- Tailwind CSS
- Stripe
- Google OAuth
- Login/Register using Google OAuth
- Add food products to your cart, including varying sizes and extra ingredients if needed
- Manage your payments through Stripe
- Edit your profile, upload profile photos through Cloudinary
- Add/update/delete new food categories
- Add details of menu items linked with each category, edit their sizes and extra ingredient options
- Upload pictures of food items through Cloudinary
- Manage user's orders after payment
- Update restaurant managers role to users and vice-versa
- Manage bestsellers items in the website
- Add multiple login options like Facebook, Microsoft, etc.
Create an empty directory and run the following commands in the terminal:
git clone https://github.com/Kaarti22/FoodByte.git
cd FoodByte
npm iAlso, create a .env file in the root directory of the project and your environment variables.
The following variables must be added:
MONGO_URL=
NEXTAUTH_URL= "http://localhost:3000/"
SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=
CLOUDINARY_PRESET_NAME=
STRIPE_SK=
STRIPE_PK=
STRIPE_SIGN_SECRET=
stripe_card_no=Finally to run this project, enter the following command:
npm run devOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.
You can start editing the page by modifying `app/page.jsx`. The page auto-updates as you edit the file.
This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.