Giter VIP home page Giter VIP logo

book_club's Introduction

Instructions

You are going to build an application that will store information on Books and Authors. The relationship between Books and Authors is many-to-many. An Author can write many Books, and a Book can be written by many Authors.

Requirements

  • all code should be 100% tested at both the feature and model levels
  • you should also follow all MVC conventions.
  • You do not need to setup test coverage
  • You do not need to do any version control

Prework

Complete the following tasks before the assessment.

Database Setup

First, create the many to many relationship between Authors and Books

  • Authors should have a name
  • Books should have a title, number of pages, and publication year

User Stories

Once you have completed the database setup, complete the following user stories:

User Story 1: Book Index Page

As a user,
When I visit '/books'
Then I see each book in the system including the book's:
  - title
  - number of pages
  - publication year
  - the name of each author that wrote the book

User Story 2: Author Show Page

As a user,
When I visit the Book Index Page,
  Then I see each author's name is a link
When I click the link
  Then I am taken to an Author Show Page where I see the author with that id including the author's:
  - name
  - the title of each book they have written
  - the average number of pages for all of their books

Rubric

Rails Syntax MVC ActiveRecord Testing and Debugging
4 Students effectively use Rails methods or strategies not discussed in class, and can effectively defend their decision to use those tools. Student strictly adheres to MVC, and can defend decisions of where functionality lives. Highly effective and efficient use of ActiveRecord beyond what we've taught in class Prework tests are extremely well organized and nested. Student demonstrates excellent TDD during paired assessment.
3 Student effectively and independently uses appropriate Rails syntax to complete the user stories Student adheres to the principles of MVC, with only one infraction. Students appropriately choose class vs. instance methods. Students can CRUD resources using built in ActiveRecord methods and ActiveRecord associations. Tests capture the behavior described in the user stories. Student demonstrates use of TDD, but may be prompted by the instructor once or twice.
2 Student uses appropriate Rails syntax with instructor prompting, or does not complete the paired user story Student does not adhere to the principles of MVC, demonstrated by up to 3 infractions. Student is able to describe the principles of MVC. Student needs prompting from instructor in order to use ActiveRecord to CRUD resources, or student makes an incorrect, or inappropriate choice of using a class or instance method. Tests do not capture the behavior described in the user stories, and/or the student does not demonstrate consistent use of TDD
1 Student fails to complete one or both of the prework user stories Student has more than 3 infractions of MVC and/or can not describe the principle of MVC. Student is unable to CRUD resources using ActiveRecord Student is unable to write an effective test without significant instructor guidance.

book_club's People

Contributors

jobannon avatar mikedao avatar

Stargazers

 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.