View Code? Open in Web Editor
NEW
Catalog-of-my-things is a console app that displays all the owned items of a user, displaying it's authors, labels, sources and genres. It uses json files to store data, allows the user to list "Books, Musics, Movies and Games" and add new items to it's catalog.
License: MIT License
capstone-ruby's Issues
All Item class properties visible in the diagram should be defined and set up in the constructor method. Exception: properties for the 1-to-many relationships should NOT be set in the constructor method. Instead, they should have a custom setter method created.
Add all methods visible in the diagram.
Implement methods:
can_be_archived?() in the Item class
move_to_archive() in the Item class
should reuse can_be_archived?() method
should change the archived property to true if the result of the can_be_archived?() method is true
should do nothing if the result of the can_be_archived?() method is false
Tests for add_item method in the Genre class
can_be_archived?() in the MusicAlbum class
Preserve games and authors data in .json files.
Implement startup actions:
Present the user with a list of options to perform.
Let users choose an option.
If needed, ask for parameters for the option.
Have a way to quit the app.
All Source class properties visible in the diagram should be defined and set up in the constructor method.
add_item method in the Source class
should take an instance of the Item class as an input
should add the input item to the collection of items
should add self as a property of the item object (by using the correct setter from the item object)
The following options should be available:
List all sources (e.g. 'From a friend', 'Online shop')
Tests for add_item method in the Label class
can_be_archived?() in the Book class
All Movie class properties visible in the diagram should be defined and set up in the constructor method.
can_be_archived?() in the Movie class
should override the method from the parent class
should return true if parent's method returns true OR if silent equals true
otherwise, it should return false
The following options should be available:
List all movies
Add a movie
games table (add all properties and associations from the parent Item class as table columns)
authors table
All MusicAlbum class properties visible in the diagram should be defined and set up in the constructor method.
Implement methods:
can_be_archived?() in the MusicAlbum class
should override the method from the parent class
should return true if parent's method returns true AND if on_spotify equals true
otherwise, it should return false
The following options should be available
List all music albums
Add a music album
add_item method
can_be_archived?()
Save Movies and Sources data in .json files.
music album table (add all properties and associations from the parent Item class as table columns)
genres table
movies table (add all properties and associations from the parent Item class as table columns)
sources table
All Label class properties visible in the diagram should be defined and set up in the constructor method.
Implement methods:
add_item method in the Label class
should take an instance of the Item class as an input
should add the input item to the collection of items
should add self as a property of the item object (by using the correct setter from the item object)
The following options should be available
List all labels (e.g. 'Gift', 'New')
All Game class properties visible in the diagram should be defined and set up in the constructor method.
can_be_archived?() in the Game class
should override the method from the parent class
should return true if parent's method returns true AND if last_played_at is older than 2 years
otherwise, it should return false
The following options should be available:
Add unit tests to
add_item method
can_be_archived?()
Preserve music albums and genres data in .json files.
All Book class properties visible in the diagram should be defined and set up in the constructor method.
Implement methods:
can_be_archived?() in the Book class
should override the method from the parent class
should return true if parent's method returns true OR if cover_state equals to "bad"
otherwise, it should return false
The following options should be available
List all books
Add a book
All Author class properties visible in the diagram should be defined and set up in the constructor method.
add_item method in the Author class
should take an instance of the Item class as an input
should add the input item to the collection of items
should add self as a property of the item object (by using the correct setter from the item object)
The following options should be available:
All Genre class properties visible in the diagram should be defined and set up in the constructor method.
Implemented methods:
add_item method in the Genre class
should take an instance of the Item class as an input
should add the input item to the collection of items
should add self as a property of the item object (by using the correct setter from the item object)
The following options should be available
List all genres (e.g 'Comedy', 'Thriller')
Kanban Board
co-authors(3):
Muhammad Ashraf #2
Vitor Guedes #8
Diego Yon #19
optional included: