Skip to content

Conversation

@jillirami
Copy link

Media Ranker

Congratulations! You're submitting your assignment!

Comprehension Questions

Question Answer
Describe a custom model method you wrote. I wrote the spotlight method, to determine the work with the highest votes.
Describe how you approached testing that model method. What edge cases did you come up with? If there were no works, or if there were multiple works with the same highest amount of votes.
What are session and flash? What is the difference between them? Both are hashlike objects that, with session being to store information about a user during and after their session, and flash sends one time messages from the controller to view.
What was one thing that you gained more clarity on through this assignment? I gained more clarity on defining the entity relationships and establishing those models and controllers.
What is the Heroku URL of your deployed application? https://mediaranker-by-jillianne.herokuapp.com/
Do you have any recommendations on how we could improve this project for the next cohort? None.

@tildeee
Copy link

tildeee commented May 7, 2019

Media Ranker

What We're Looking For

Feature Feedback
Core Requirements
Git hygiene x
Comprehension questions x, but I don't see the spotlight method that you brought up!
General
Rails fundamentals (RESTful routing, use of named paths) x
Views are well-organized (DRY, use of semantic HTML, use of partials) x, but there's more opportunity to use partials for works/index and works/homepage views
Errors are reported to the user x
Business logic lives in the models I don't see any defined, and I see a lot of this logic end up in the views
Models are thoroughly tested, including relations, validations and any custom logic nope!
Controllers are thoroughly tested, including the login/logout process and multi-step workflows like voting for a work no votes controller tests, unfinished tests on users controller test
Wave 1 - Media
Splash page shows the three media categories x, though views are unfinished
Basic CRUD operations on media are present and functional x
Wave 2 - Users and Votes
Users can log in and log out x
The ID of the current user is stored in the session x
A user cannot vote for the same media more than once x
All media lists are ordered by vote count
Splash page contains a media spotlight x
Wave 3 - Users and Votes
Media pages contain lists of voting users
Individual user pages and the user list are present
Optional - Styling
Bootstrap is used appropriately
Look and feel is similar to the original
Overall

Jillianne!

We talked through this project submission briefly, and it continues to be true; in so many ways, there are parts of this project that have all of the features and show the learning goals, just incomplete:

  • Logging in and logging out works!
  • Voting works!
  • Complex controller stuff!
  • Complex model stuff!

These were the incomplete features:

  • Model methods and testing on it
  • appropriate consistent visual feedback
  • sorting by votes
  • displaying votes
  • displaying Works/pieces of media in a readable way
  • Working through placeholder text and replacing it
  • overall structure and styling

I've added some comments on things to move forward with concretely

That being said, I super understand that a lot of this is because of missing 2.5 days of class and having much less project time.

All that said, well done-- I'm marking this project as "approaches standard" because of its level of consistent completeness, but you got through the most interesting parts of functionality. Please let me know if there are questions on content comprehension


def homepage
@works = Work.all
@ranked_works = @works.order(:id)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ordering by id :( If you had to sort it a different way, what would you do?



</tr>
<% @works.where(category: "album").each do |work| %>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it might be better form to establish @albums = @works.where(category: "album") in your controller action rather than place this logic in the view, and then use @albums

<th>Title</th>
<th>Created By</th>
<th>Published</th>
<th>Upvote</th>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

watch indentation!

@@ -0,0 +1,7 @@
Media Spotlight: <%= @ranked_works.first.title %> by <%= @ranked_works.first.created_by %> <br>
<%#= @ranked_works.first.votes %> - <%= @ranked_works.first.description %> <%# will be order by vote count next %> <br><br>
<p>Top Movies: <%= @ranked_works.where(category: "movie")[0..10] %></p>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mentioned this in a different file, but it may be better to move the logic that defines this set of works in the controller action, like @top_movies = @ranked_works.where(category: "movie")[0..10]. We'll want to keep complex logic like this out of the view

@@ -0,0 +1,7 @@
Media Spotlight: <%= @ranked_works.first.title %> by <%= @ranked_works.first.created_by %> <br>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So close to getting spotlight feature!

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