The Book Search Engine is a full-stack application that allows users to search for books via the Google Books API, and manage a personal library of books they intend to read or purchase. This project refactors a traditional RESTful API to use GraphQL with Apollo Server, showcasing the power of a MERN stack (MongoDB, Express.js, React, Node.js) integrated with Apollo GraphQL for efficient data retrieval and management.
This project was developed as part of a coding challenge to demonstrate the transition from RESTful APIs to a GraphQL API architecture. Users can search for books, save their favorite books to their account, and manage their saved books through a responsive web interface.
You can simply visit the link Book Search Engine
- Search for books via Google Books API.
- User authentication to maintain session states.
- Save and manage books within a personal account.
- Apollo Server integration to handle GraphQL operations.
- Responsive web design for desktop and mobile devices.
To run this application locally, you'll need to clone the repository and install its dependencies.
git clone https://github.com/naturuplift/BookSearchEngine.git
cd BookSearchEngine
cd server
npm install
npm start
cd client
npm install
npm start
Once the server and client are running, you can navigate to http://localhost:3000/
to search for books:
You can Login or Sign Up to the application:
You can search for book by entering book query and scroll for results displayed:
You can save books to your collection when you click on 'Save this Book':
Then navigate to your saved book by selecting on 'See Your Books':
Click on 'Delete this Book' to remove books from your collection:
To start with this project we used the following Starter Code
To contribute to this project, please create a pull request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License. See the LICENSE file for details.