-
Notifications
You must be signed in to change notification settings - Fork 0
Catalog of My things console app #46
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
base: main
Are you sure you want to change the base?
Conversation
Add Gemfile.lock and update main.rb
create music files
Catalogs of My things: Create Label class
Game branch
Catalog of My things: Create book class as child of item class
Unit test game
Catalog of My things: Create book/label tables
author and game tables
Store music data
join everyone one file togther
Create tests for genre and music
Catalog of My things: Finalized catalog of my things
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi team @yodit93, @brhanuhailu, @danielmatama 🙋♀️,
Great work so far! 💯
You have done a great job implementing all the project requirements for the Catalog of My Things Ruby capstone. 🎊 🥳
There are some issues that you still need to work on to improve your project according to the requirements. You are almost there! 💪🏾
HIGHLIGHTS 🌟
✔️ Good UI implementation
✔️ Good PR title and description
✔️ Class relationships and associations are included
✔️ Well-written unit tests
✔️ Well documented README
Video Presentation 🎥
✔️ There is a recorded presentation video presenting the features of the project with a maximum length of 5 minutes.
✔️ The video contains a clear and objective description of the project in professional English. The topic and purpose of the project are made clear.
✔️ The video contains a demo of the project, highlighting all the project features.
✔️ The video contains a highlight about a piece of the code the students finds interesting or are proud of making.
Required Changes ♻️
Kindly look through the comments below 👇 for required changes
Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you take them into account as they can make your code better.
Cheers 🥂 and Happy coding!!! 👯
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me @KDlamini in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.
As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.
src/music/music_album.rb
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[OPTIONAL] When working in teams it's always best to discuss the file structure or architecture of your application so that the is consistency and unity in the way that you implement features.
For example, one of your teammates used the src
directory to organize their features while everyone else left their files in the root directory. This indicates disunity in the way you create and organize your application.
- To have a consistent file structure it would be best if every team member also created dedicated directories in the
src
directory to organize their files. You could have thesrc/game
directory forgame
andauthor
, andsrc/book
directory forbook
andlabel
, andsrc/storage
forstorage
andstore
files.
README.md
Outdated
<img src="microverse_logo.png" alt="logo" width="140" height="auto" /> | ||
<br/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
item.rb
Outdated
def label=(label) | ||
@label = label | ||
label.add_item(self) | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As stated in the project requirements, kindly ensure all associations (1-to-many relationships) are implemented. Please make sure the Item
class is associated with the Genre
and Author
classes too as you did with Label
in the Item
class.
For example, here's how you can associate Genre.
- Kindly do the same for
Author
too. You can also optimize theLabel
association you implemented by adding theunless
condition as illustrated in the example above to prevent duplication.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well done on your unit tests team!!! 💯💪🏾
Please note that the project requirements state that you should add unit tests for all implemented methods. That includes methods in the Item
class too.
Kindly add unit tests for all methods in the Item
class. This means
- Write tests for the
can_be_archived?
andmove_to_archive
methods in theItem
class - Write tests for the
label
setter method and check if setting a label with this method adds anitem
to thelabel.items
array. - Write tests for the
genre
setter method and check if setting a genre with this method adds anitem
to thegenre.items
array. Note: You will have to create this missing method in the Item class as requested in one of the comments above. - Write tests for the
author
setter method and check if setting an author with this method adds anitem
to theauthor.items
array. Note: You will have to create this missing method in the Item class as requested in one of the comments above.
In this project, we
created classes based on the UML class diagram
(https://github.com/microverseinc/curriculum-ruby/blob/main/group-capstone/images/catalog_of_my_things.png)
in a separate fileimplemented all associations (1-to-many relationships) and aggregations (parent-child relationships) between classes,
defined and set up all properties visible on the diagram in the constructor method.,
created a custom setter method for properties on 1-to-many relationships,
implemented all methods visible in the diagram,
add_item method (in all classes that have that method)
can_be_archived?() in the MusicAlbum class which