Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Addie's Media Ranker #23

Open
wants to merge 67 commits into
base: master
Choose a base branch
from
Open

Conversation

add2point71dots
Copy link

@add2point71dots add2point71dots commented Apr 15, 2017

Media Ranker

Congratulations! You're submitting your assignment!

Comprehension Questions

Question Answer
Describe a custom model method you wrote. In the Work model, I wrote self.top_ten(category) to return the top 10 works of a particular category, sorted by number of votes.
Describe how you approached testing that model method. What edge cases did you come up with? I tested that the method returned groups of works with the category specified (for movies, albums, and books) by running the method and checking that the category of the first and last item returned was what it should. I tested that it only returned 10 movies if there were more than 10, and I tested that it returned all the albums if there were fewer than 10 albums. I tested that the first movie in top_ten("movie") was indeed the movie with the most votes. I tested that the first element returned had greater than or equal to the number of votes that the last element had. I tested that top_ten("book") returned an empty array if I first destroyed all the books in my fixtures.
Describe an edge case test you wrote for a controller In the works controller tests, I tested that a 404 page shows if you try to get work_path(:id) with an id that doesn't exist.
What are session and flash? What is the difference between them? They're both hash-like objects that are temporary in nature. Flash is generally used to display messages of success or failure after a user submits a form. They only show once and then disappear. Session is information that persists until the browser closes (usually). It's most often used to store information about user logins.
Describe a controller filter you wrote. That was the lecture that was pushed to next week, right? So...I'm guessing I didn't use one?
What was one thing that you gained more clarity on through this assignment? What exactly we have access to in the views and when (especially after rendering and redirects!) There's definitely still some confusing stuff in that area, but this project cleared some of that up for sure.
What is the Heroku URL of your deployed application https://addie-media-ranker.herokuapp.com/ (ps: there are still a couple bugs in there! In particular, I just discovered that clicking logout after a form fails validation breaks stuff. If I have time after the assessment, I might revisit that.) (pps: I know what the bug is and why it's happening, but I don't want to mess with my app after the turn in date in case I accidentally break something else. But I'll watch out for that on my next project!)
Do you have any recommendations on how we could improve this project for the next cohort? I feel like this project was very time consuming, but I had fun with it. I liked not having quite as much direction this time around to boost my googling skills. (And it was fun sharing and receiving tips with/from classmates when anyone found a cool solution to a problem).

@kariabancroft
Copy link

Media Ranker

What We're Looking For

Feature Feedback
Core Requirements
Git hygiene Looks good
Comprehension questions Yes
General
Rails fundamentals (RESTful routing, use of named paths) Yes - nice job with the routes to create the dynamic route based on the type of work for the new form
Semantic HTML Yes - in particular the index page looks good and nicely sectioned for semantics
Errors are reported to the user Yes - flash is configured in the application.html.erb and forms are using the errors hash
Business logic lives in the models Some - the work model has some methods for sorting and filtering some of the data
Model testing Yes - the work and vote model testing looks great
Controller testing Yes - nice job with the thorough work controller tests
Wave 1 - Media
Splash page shows the three media categories Yes
Basic CRUD operations on media are present and functional Yes
Wave 2 - Users and Votes
Users can log in and log out Yes - looks good
The ID of the current user is stored in the session Yes
Individual user pages and the user list are present Yes
A user cannot vote for the same media more than once Yes! Logic looks good based on login and not allowing to voting more than one.
All media lists are ordered by vote count Yes
Splash page contains a media spotlight Yes
Media pages contain lists of voting users Yes!
Wave 3 - Styling
Foundation is used appropriately Yes
Look and feel is similar to the original Yes
Overall You did a really nice job on this. You definitely hit the learning goals on this assignment and got good practice with each concept.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants