google-books-react-search

Google Books Search

Overview

In this activity, you’ll create a new React-based Google Books Search app. This assignment requires you to create React components, work with helper/util functions, and utilize React lifecycle methods to query and display books based on user searches. You’ll also use Node, Express and MongoDB so that users can save books to review or purchase later.

Commits

Having an active and healthy commit history on GitHub is important for your future job search. It is also extremely important for making sure your work is saved in your repository. If something breaks, committing often ensures you are able to go back to a working version of your code.

Submission on BCS

Instructions

  1. Start by using the 07-Ins_Mern example as a base for your application.

  2. Add code to connect to a MongoDB database named googlebooks using the mongoose npm package.

  3. Using mongoose, then create a Book schema.

  4. At a minimum, books should have each of the following fields:

  1. Create a layout similar to the mockups displayed above. This should be a SPA (Single Page Application) that uses react-router-dom to navigate, hide and show your React components without changing the route within Express.
  1. Add the following Express routes for your app:

Bonus Live Updates to Saved Books

Reminder: Submission on BCS


Minimum Requirements

Attempt to complete homework assignment as described in instructions. If unable to complete certain portions, please pseudocode these portions to describe what remains to be completed. Hosting on Heroku and adding a README.md are required for this homework. In addition, add this homework to your portfolio, more information can be found below.


Create a README.md

Add a README.md to your repository describing the project. Here are some resources for creating your README.md. Here are some resources to help you along the way:


Add To Your Portfolio

After completing the homework please add the piece to your portfolio. Make sure to add a link to your updated portfolio in the comments section of your homework so the TAs can easily ensure you completed this step when they are grading the assignment. To receive an ‘A’ on any assignment, you must link to it from your portfolio.


Hosting on Heroku

Now that we have a backend to our applications, we use Heroku for hosting. Please note that while Heroku is free, it will request credit card information if you have more than 5 applications at a time or are adding a database.

Please see Heroku’s Account Verification Information for more details.


One More Thing

If you have any questions about this project or the material we have covered, please post them in the community channels in slack so that your fellow developers can help you! If you’re still having trouble, you can come to office hours for assistance from your instructor and TAs.

Good Luck!