Unit 2 Project: Bookshelf Compendium

App Idea: A place to list all of your books and keep track of what you've read or haven't read.

Unit 2's project for General Assembly's SEI course. Need to build a fully functional CRUD app using RESTful APIs.

###Technologies Used Server side: ES6, Node, Express
Database: MongoDB Atlas
Front end: HTML, CSS, Javascript, EJS
Tools: Git, GitHub, Heroku

Deployed Link: https://bookshelf-compendium.herokuapp.com/books

User Stories

As an app user, I want to be able to catalog all the books I own, so that I can keep track of them.
As an app user, I want to be able to search my library alphabetically, by author, and by genre.
As an app user, I want to be able to edit and delete books.

Wireframes

Home Page:
HomePage

Index Page:
IndexPage

Show Page:
ShowPage

Add New Book:
AddNewBook

MVP Goals

[x] Add books to database
[x] Look up books in database
[x] Stylized
[x] Partials for header & footer

Stretch Goals

[ ] Dark mode
[x] Sign up/log in
[ ] Wish list model
[ ] Recommendations by genre
[ ] Optimize for viewing on mobile

Suggestions from others

[x] Filtering by Genre
[x] Have the rating show up as stars
[x] List View
[x] Button to switch between table and list view
[x] Add background photo of book pages
[x] Add ISBN to Schema, and relative pages
[ ] Firebase, from Google
[ ] Add "You must be logged in" message for Add/Edit/Delete
[ ] Add Open Library API so most of the covers of the books can be added automatically (https://openlibrary.org/dev/docs/api/covers)

Bugs/Issues Found (by friends) & Fixed

[x] When a book has no cover, you can't click it to go to the show page
[x] New background image makes it hard to see the books, suggested adding a border
[x] When clicking a book on list view, if you hit the back button from the show page it goes to the cover view, and not the list view again.