A simple Google Search clone project created using React, Material-UI, React Router, React state management, custom hooks, and the Context API. This project demonstrates the functional part of Google Search, including searching and querying Google data.
Please note that the UI features and Responsiveness may not be fully functional as this project primarily focuses on showcasing the functionality.
This project relies on the following dependencies:
-
Clone the repository to your local machine:
git clone https://github.com/shivam171/google-search-clone.git
-
Install the project dependencies:
cd google-clone npm install
-
Start the development server:
npm run dev
-
Open your web browser and navigate to http://localhost:3000 to access the Google Clone.
-
Vite: This project uses Vite as the build tool. Vite is a fast development server and build tool for JavaScript applications. It provides a smooth development experience with fast hot-reloading. The Vite configuration can be found in vite.config.js.
-
React: The project is built using React, a popular JavaScript library for building user interfaces.
-
Material-UI: Material-UI is used for the UI components and styling of the project. It provides a set of pre-designed components that follow the Material Design guidelines.
-
React Router: React Router is used for handling routing within the application. It enables navigation between different views or pages of the Google Clone.
-
React State Management: The project uses React state management to manage the application's state. This includes handling user input and search queries.
-
Custom Hooks and Context API: Custom hooks and the Context API are used for sharing state and functionality between components. This allows for efficient data sharing and communication within the application.
This project uses a custom Google Search API and a Google Search Engine provided by Google as part of the Google Developer Program. Please be aware of the following limitations:
The custom search API is limited to a maximum of 100 searches per day.
This project is open-source and available under the MIT License. You are free to use and modify it as needed.
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with descriptive messages.
- Push your changes to your fork.
- Create a pull request to merge your changes into the main repository.
if you have any questions or need further assistance, feel free to contact me at shiv.op@gmail.com.
Happy coding!