Skip to content

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.

License

Notifications You must be signed in to change notification settings

naturuplift/BookSearchEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Book Search Engine


GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. pollo Server is an open-source, spec-compliant GraphQL server that's compatible with any GraphQL client, including Apollo Client. Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Mongoose supports Node.js and Deno (alpha) MongoDB is a general purpose, document-based, distributed NoSQL database built for web application developers in the cloud era. It’s one of the most popular database choices for modern applications. MongoDB Compass is an interactive tool for querying, optimizing, and analyzing MongoDB data. express-session - A session middleware for Express.js, used for handling user sessions Node.js - A JavaScript runtime built on Chrome's V8 JavaScript engine, used for building fast and scalable network applications Express.js - A minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications dotenv NPM JavaScript - ES6 GitHub (for repository hosting and project management) - Provides hosting for software development and version control using Git Git (for version control) - A free and open-source distributed version control system University of New Brunswick The MIT License


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.

Description

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.

Table of Contents

Demo

You can simply visit the link Book Search Engine

Features

  • 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.

Installation

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

Server Setup

cd server
npm install
npm start

Client Setup

cd client
npm install
npm start

Usage

Once the server and client are running, you can navigate to http://localhost:3000/ to search for books:

image

You can Login or Sign Up to the application:

image

image

You can search for book by entering book query and scroll for results displayed:

image

You can save books to your collection when you click on 'Save this Book':

image

Then navigate to your saved book by selecting on 'See Your Books':

image

Click on 'Delete this Book' to remove books from your collection:

image

Starter Code

To start with this project we used the following Starter Code

Contributing

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.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published