A full-stack Zomato clone built using the MERN stack that allows users to explore a curated list of restaurants and manage their profiles. This project focuses on a responsive user interface and seamless functionality across both mobile and desktop views.
Explore the live demo here: Zomato Clone
Watch the demostration here: Project Video
The Zomato Clone provides users with the ability to explore various restaurants dynamically pulled from a data source, manage their profile information, and view restaurant details. This project emphasizes full-stack development, integrating a responsive frontend with a robust backend.
- Explore Page: Displays a list of restaurants.
- Profile Page: Users can log in and update their profile details.
- Responsive Design: Fully optimized for mobile and desktop views.
- Secure Backend: With robust handling of data using MongoDB and Mongoose.
- React: For building the UI components.
- Redux: For state management.
- TailwindCSS & ChakraUI: For creating a responsive and sleek UI.
- Node.js: Backend framework.
- Express.js: Web framework for Node.js.
- MongoDB & Mongoose: NoSQL database for storing restaurant and user data.
- Cloudinary: For hosting images efficiently.
-
Clone the repository:
git clone https://github.com/bhanupm07/zomato-clone.git cd zomato-clone
-
Install dependencies:
- For the backend (in the root directory):
npm install
- For the frontend (navigate to
client
folder):cd client npm install
- For the backend (in the root directory):
-
Set up environment variables: Create a
.env
file in the root of the project and add the following:MONGO_URI=<your_mongo_db_connection_string> CLOUDINARY_CLOUD_NAME=<your_cloudinary_cloud_name> CLOUDINARY_API_KEY=<your_cloudinary_api_key> CLOUDINARY_API_SECRET=<your_cloudinary_api_secret>
-
Run the project:
- For the backend (in the root directory):
npm run server
- For the frontend (in the client folder):
npm start
- For the backend (in the root directory):
Contributions, issues, and feature requests are welcome!