# Assignment #2: Great reads!

[Goodreads](https://www.goodreads.com/) is a website that allows users to rate, review and interact with books. Users can add books to their "bookshelves" ("to-be-read pile"), rate and leave reviews on books, and browse books and their reviews on the site. For this assignment, your task is to implement some of the features of this site, using an Object-Oriented approach.

Your complete solution will consist of 4 classes: Book.java, Reviews.java, Shelf.java, and the driver class, Main.java.

## Main.java
- Will contain only a main method and create Books, Reviews, and Shelf objects and display them.
- Your code should be able to do the following:
- Create Book objects and print out the data of the object in a neatly formatted way (Book Title, Author, Summary, and Page Count)
- Create Reviews objects for Books, both text and a rating (assume a scale of 1-5). Print out the text reviews for a type of Book, add a new text review for a Book, add a rating for a type of Book, and display the average rating.
- Create a new book Shelf and add Books to each Bookshelf, and display the shelf(s).

The implementation of each class is up to you but must adhere to these diagrams. Meaning, all class variables, and methods must be present in order to have a completely working solution. You may not change the return type of any method.

You are also expected to have good Code Documentation as part of your solution. This includes proper indentation, whitespace, comments, and variable naming conventions.

**NOTE**: You may not import any additional packages or libraries.

## Marking Scheme
The marking scheme for this assignment is as follows:

#### Knowledge
- Appropriate use of variables, conditionals, loops, and methods
- Variable data types are accurately defined
#### Thinking
- No unnecessary or unused variables, conditionals, loops, etc.
#### Application
- All program specifications have been met.
- Use of Object-Oriented Programming in the approach to the solution
- Working solution; the program does not generate any errors (syntax/compiler, logic errors, etc.)
- Code deliverable is submitted on time or by pre-arranged extension date.
#### Communication
- Code is well-documented with comments
- Variable names are clear and concise

### Total Marks: /20

Assignment 2 Great reads Goodreadshttpswwwgoodreadscom is a website that allows users to rate review and interact with books Users can add books to their books class=