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

Queues - Cara Comfort - MediaRanker #37

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

Conversation

cecomfort
Copy link

@cecomfort cecomfort commented Apr 17, 2017

Media Ranker

Congratulations! You're submitting your assignment!

Comprehension Questions

Question Answer
Describe a custom model method you wrote. I wrote a custom class method for the works model called spotlight, which returns the work with the most votes.
Describe how you approached testing that model method. What edge cases did you come up with? I tested the edge case where no works where in the database. In the case, the method should return nil. I also tested that it returns an object that is of the work class and that it does return the work with the most votes.
Describe an edge case test you wrote for a controller Since I wrote my get works index route to the url :works/, I wanted to test the edge case where a url is typed in that does not belong to the defined route constraints (category = movies, books, or albums). Therefore I tested the case that it raises a routing error when given a route that does not exit. Ideally, I would have tested for a not found status, but I had trouble with this test since the constraints stop the request from reaching the controller in development, but not production.
What are session and flash? What is the difference between them? A flash is a type of hash used to send one-time messages from the controllers to the views. The flash messages are used a single time, and once they are displayed they are gone. A session is a type of hash used to keep track of data throughout a users "session", which normally ends when they close their browser or log out. Unlike flashes, sessions persist from one request to another.
Describe a controller filter you wrote. I didn't write a controller filter since this topic got pushed back to next week.
What was one thing that you gained more clarity on through this assignment? Writing controller and method tests!
What is the Heroku URL of your deployed application https://media-ranker-cara.herokuapp.com/
Trello board https://trello.com/b/ZUNHvdDN/media-raker
Do you have any recommendations on how we could improve this project for the next cohort? Possibly remove a couple requirements or move the assessment to another weekend.
Things I didn't have time for If I had more time, I would have liked to add the functionality to differentiate between new users and existing users. I would have also liked to change the order that the works are displayed on a users show page. Right now they are sorted by work creation date but I would have liked them to be sorted by the corresponding vote date. I would have also liked to DRY up my code more, and move more logic from the views to the models.

Create database with user, votes, and work model, where work represents
a piece of media. A vote belongs to one and only one user and work.
The works index route now only allows works that are albums, books, or
movies, instead of any work category passed in.
Modify new work view so that request is sent to works/create instead of
albums/create, movies/create, and books/create. Add a hidden view to
submit work category.
Only add works detail information, not votes table, which will be
added once users and votes are implemented. Add links to and from
works index page and individual work show pages.
Change new work route, controller, and view so can be more easily
made into a partial that can be shared with work edit.
Write get loggin and post loggin routes for sessions. Add new
and create session methods in controller, respectively. Add
new view for sessions with form data to enter a username.
Want new users to be added to the system when a new user attempts
to log in. However, this allows users to log in if username field
is left blank.
@PilgrimMemoirs
Copy link

Media Ranker

What We're Looking For

Feature Feedback
Core Requirements
Git hygiene Well Done
Comprehension questions Well Done
General
Rails fundamentals (RESTful routing, use of named paths) Well Done
Semantic HTML Sometimes - some elements and full pages do not have any semantic sectioning tags wrapped around content (ex: user's index)
Errors are reported to the user Well Done - nice custom styling
Business logic lives in the models Well Done
Model testing Well Done - nice use of fixtures
Controller testing Well Done
Wave 1 - Media
Splash page shows the three media categories Well Done
Basic CRUD operations on media are present and functional Well Done
Wave 2 - Users and Votes
Users can log in and log out Well done
The ID of the current user is stored in the session Well Done
Individual user pages and the user list are present Well Done
A user cannot vote for the same media more than once Well Done
All media lists are ordered by vote count Well Done
Splash page contains a media spotlight Well Done
Media pages contain lists of voting users Well Done
Wave 3 - Styling
Foundation is used appropriately Well Done
Look and feel is similar to the original Well Done
Overall

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