Giter VIP home page Giter VIP logo

book-review's Introduction

Create migrations

Book table should have

  • title -> string
  • author -> string

Reader table should have

  • name -> string

Review table should have

  • Foreign keys
  • A rating column that stores an integer.
  • A review_comment column that stores a string.

Aggregate methods:

Review

  • Review#show_review
    • should puts to the terminal a string formatted as follows: Review for {insert book name} by {insert author name}: {insert review rating}. {insert review_comment}

Book

  • Book#write_review(reader, rating, review_comment)

    • takes a Reader (an instance of the Reader class), a rating (integer), and a review_comment (string) as arguments, and creates a new Review in the database associated with this Product and the User
  • Book#print_all_reviews

    • should puts to the terminal a string representing each review for this book
  • Book#rating

    • returns a float representing the average rating for all reviews for this book
  • Book.most_reviewed

    • returns the book with the most amount of reviews
  • Book.highest_ratings

    • returns the books that has the highest ratings
  • Book.best_selling_author

    • returns the author that has the most amount of reviews
    • using puts display: {Author_name} has the highest number of reviews

Reader

  • Reader#most_favorite

    • returns the book that has the highest ratings from this user
  • Reader#change_review(book, new_rating, new_comment)

    • takes a Book instance as an argument and changes the review of the of the book by the reader if there is any updatng the rating: new_rating and review_comment: new_comment

    • returns The reader did not review this book if the review does not exist

book-review's People

Contributors

mohhossain avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.