This Book Search Website allows users to search for books and explore their titles, descriptions, authors, and cover images. The website utilizes the Google Books API to retrieve comprehensive information about books, and users can easily navigate to the respective entries on Google Books for more details. The site offers a seamless experience where users can freely search for books without needing an account. However, to leverage additional features like saving favorite books to a personalized collection, users have the option to create an account.
This application requires a number of packages (see Credits below for more information). To install these packages, clone the repo, cd
into it, then run the command npm i
.
Instructions for using the application:
- If you do not have an account and wish to save books, first create an account:
- Click "Login/Sign Up" at the top-right corner
- Click the "Sign Up" tab in the modal that appears
- Enter a username, email, and password and then click "Submit"
- If you have an account and wish to log in, click "Login/Sign Up" and enter your login credentials
- The Home page contains a search bar to look up books. Enter your search term and click "Submit Search". Note you do not have to be logged in to search but you do have to be logged in to save books.
- Click on "View book on Google Books" to navigate to the Google Books webpage for the book.
- If you are logged in, click "Save this Book!" to save the book to your account.
- If you are logged in, click "See Your Books" in the navigation menu to view your saved books.
- Click "Delete this Book!" to remove a book from your saved books.
- You will be automatically logged out after a period of inactivity, or you can click "Logout" in the top-right corner to log out
Starter code was provided by the UC Berkeley Coding Boot Camp.
The following packages are used in this application:
-
Front-end:
- @apollo/client to interact with the GraphQL server
- bootstrap to style the application
- graphql to handle APIs and querying
- jwt-decode to decode JSON Web Tokens
- react / react-bootstrap / react-router-dom / react-scripts to build the front-end
-
Back-end:
- express to build the server
- bcrypt to hash passwords
- apollo-server-express to build the GraphQL server
- graphql to handle APIs and querying
- jsonwebtoken to generate JSON Web Tokens
- mongoose to interact with the MongoDB database
Ready to explore? Visit my repository and immerse yourself in a world of tech wonders! Click here to view the repository.
To experience the live version, head over to the deployed Heroku link and join the tech enthusiasts' community. Click here for the Deployed Heroku Link.
Join me on this exhilarating tech journey, and together, let's shape the future of technology!