Skip to content

Full Stack app using MongoDB-Express-React & Node utilizing GraphQl and Apollo Server Middleware

Notifications You must be signed in to change notification settings

mgetz34/GQL-MERN-Book-Search-Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GQL MERN Book Search Engine

License

License

Table of Contents:

Description

For this app, we take a fully functioning Google Books API search engine built with a RESTful API, and refactor it to be a GraphQL API built with Apollo Server. The app was built using the MERN stack, with a React front end, MongoDB database, and Node.js/Express.js server and API. It's already set up to allow users to save book searches to the back end.

User Story

AS AN avid reader
I WANT to search for new books to read
SO THAT I can keep a list of books to purchase

Acceptance Criteria

GIVEN a book search engine
WHEN I load the search engine
THEN I am presented with a menu with the options Search for Books and Login/Signup and an input field to search for books and a submit button
WHEN I click on the Search for Books menu option
THEN I am presented with an input field to search for books and a submit button
WHEN I am not logged in and enter a search term in the input field and click the submit button
THEN I am presented with several search results, each featuring a book’s title, author, description, image, and a link to that book on the Google Books site
WHEN I click on the Login/Signup menu option
THEN a modal appears on the screen with a toggle between the option to log in or sign up
WHEN the toggle is set to Signup
THEN I am presented with three inputs for a username, an email address, and a password, and a signup button
WHEN the toggle is set to Login
THEN I am presented with two inputs for an email address and a password and login button
WHEN I enter a valid email address and create a password and click on the signup button
THEN my user account is created and I am logged in to the site
WHEN I enter my account’s email address and password and click on the login button
THEN I the modal closes and I am logged in to the site
WHEN I am logged in to the site
THEN the menu options change to Search for Books, an option to see my saved books, and Logout
WHEN I am logged in and enter a search term in the input field and click the submit button
THEN I am presented with several search results, each featuring a book’s title, author, description, image, and a link to that book on the Google Books site and a button to save a book to my account
WHEN I click on the Save button on a book
THEN that book’s information is saved to my account
WHEN I click on the option to see my saved books
THEN I am presented with all of the books I have saved to my account, each featuring the book’s title, author, description, image, and a link to that book on the Google Books site and a button to remove a book from my account
WHEN I click on the Remove button on a book
THEN that book is deleted from my saved books list
WHEN I click on the Logout button
THEN I am logged out of the site and presented with a menu with the options Search for Books and Login/Signup and an input field to search for books and a submit button

Installation

Open via link below

Usage

Home Screen

Credits

Jenn Marshal: https://github.com/jennnmarshall Garrett Anderson: https://github.com/GarrettA01 Andrew Labrode: https://github.com/AndyLaBorde Chandler Baird: https://github.com/cbaird21

Features

GQL Server Management, MERN stack, User Authentication, JWT

How to Contribute

Contact Information is below with any suggestions or advice!

Tests

N/A

Questions

For any questions, please view my profile at: https://github.com/mgetz34 My email address is: mgetz340@gmail.com

Deployed Application

https://gql-mern-book-search-engine.herokuapp.com/

About

Full Stack app using MongoDB-Express-React & Node utilizing GraphQl and Apollo Server Middleware

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published