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 - Allison Northrop - Media Ranker #41

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

Conversation

Allison-Northrop
Copy link

Media Ranker

Congratulations! You're submitting your assignment!

Comprehension Questions

Question Answer
Describe a custom model method you wrote. I wrote a custom method in the Work model. The method was a class method called by_category, and it sorted work(media) based on it's category (movie, album, book). This was very useful when it came to adding new media and displaying media in columns based on category.
Describe how you approached testing that model method. What edge cases did you come up with? First, I tested each case of if good data was entered. I checked that when a work had album entered at it's category, it must equal the work where album was the category, etc. I then tested what it would do with bad data. So, if there was a category that wasn't 'album' 'book' or 'movie', that it would return a work object that had an empty array in the category section.
Describe an edge case test you wrote for a controller For the index method in the Works controller, I wrote a test to make sure if there were 0 works in the works database, that the index would still pop up (respond with success). I did this by destroying all of the database and then making the test fail if it didn't respond with success.
What are session and flash? What is the difference between them? Session is when there is a "session" in the browser that lasts (typically) until the browser is closed. For example, if someone logs in to a site, they will have a session tied to that login and will be logged in until that session closes (when the browser is closed/the custom session parameter is fulfilled). On the other hand, flash is something that happens if certain parameters are unfulfilled. For example, if a password is input incorrectly, the log in page will (depending on how things are set) render a new login page and "flash" information telling the user that their password is incorrect.
Describe a controller filter you wrote. We didn't go over this, so I don't have one written.
What was one thing that you gained more clarity on through this assignment? Gained a lot more clarity on how to test things in rails (still need to do more but getting there!) and how to use model methods (and insert logic in views) to separate particular information while still using one database for the information (such as works - all items were works were sorted by book, album and movie).
What is the Heroku URL of your deployed application https://media-ranker-vote-up-1.herokuapp.com/
Do you have any recommendations on how we could improve this project for the next cohort? First of all, I really liked this project. I learned a lot, particularly when it came to testing and putting methods in models. I also thought it gave a lot of opportunities to collaborate with other classmates even though it was an individual project. However, it was really frustrating not having enough time to complete this project, or even get to some of the main functions in votes and users. This was not because I didn't put in a lot of effort - I worked every time we had class-time to work on it, and a few hours after class everyday. If it weren't for the assessment over the weekend (and the fact that it was Easter -- I had Easter plans that I chose not to compromise, sorry not sorry) I think I would have finished it. I plan on trying to get more done tonight because I really want to get it complete, but overall it felt like our time wasn't entirely respected when it came to this project.

… controller (it was an error in the validation)
@PilgrimMemoirs
Copy link

Media Ranker

What We're Looking For

Feature Feedback
Core Requirements
Git hygiene Well Done
Comprehension questions Flash can also be used for things that do work as expected, like something successfully being created, updated or logged in. Thanks for the feedback on how we can improve, it's good to hear this was a good project that we should allot more time for :)
General
Rails fundamentals (RESTful routing, use of named paths) Well done - doesn't look like you're using the votes routes anywhere
Semantic HTML Sometimes - Some elements do not have a sectioning tag wrapping them (first two lines in welcome index, works index has an ending section tag but no beginning, works show doesn't have any.
Errors are reported to the user Didn't run into any shown errors - works let me save anything
Business logic lives in the models Has Work.by_category
Models are thoroughly tested, including relations, validations and any custom logic Should have more for validations and relations - A few for Works model method
Controllers are thoroughly tested Good start - some tests incomplete or not working as expected. Did you mean to use the work_id variable in params for the test "returns 404 for a work that DNE"?
Wave 1 - Media
Splash page shows the three media categories Well done
Basic CRUD operations on media are present and functional Some - can edit and view (read & update). Missing New and Delete (create & Delete).
Wave 2 - Users and Votes
Users can log in and log out Not complete
The ID of the current user is stored in the session Not complete
Individual user pages and the user list are present Not complete - now show page for user
A user cannot vote for the same media more than once Not complete
All media lists are ordered by vote count Not complete
Splash page contains a media spotlight Not Complete
Media pages contain lists of voting users Not Complete
Wave 3 - Styling
Foundation is used appropriately Is included in project - Grid not used
Look and feel is similar to the original Mostly Good
Overall
Good start with getting setting up Media's three categories, seeding the given data, adding styles and deploying the app to Heroku.
There are some things missing that I want to see you work in in Betsy: complete CRUD functionality for a resource, Showing errors and messages to a user, testing model validations and relationships, Logging in/out and using the Foundation Grid.

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