-
๐ฑ Iโm currently learning React, Redux, Ruby and Ruby on Rails
-
๐ซ How to reach me [email protected]
item-catalog's Introduction
item-catalog's People
item-catalog's Issues
[1 xpt] member 1 - Schema
Create a schema.sql file with tables that will be analogical to the structure of the classes that you created:
- books table (add all properties and associations from the parent Item class as table columns)
- labels table
[1 Xpt] Item class
-
Create Item class in a separate .rb file.
-
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.
[1 Xpt] Item class - Methods
Implement methods:
- can_be_archived?
- move_to_archive()
[1 xpt] member 2 - Schema
Create a schema.sql file with tables that will be analogical to the structure of the classes that you created:
- music_albums table (add all properties and associations from the parent Item class as table columns)
- genres table
[2 xpt] - Member 2 Preserve data
All data should be preserved by saving collections in .json files.
[2 xpt] Member 2 - Music Album
- Create MusicAlbum class in a separate .rb file.
- Create Genre class with an association to the Item class (in a separate .rb file).
- All MusicAlbum class properties visible in the diagram should be defined and set up in the constructor method.
- All Genre class properties visible in the diagram should be defined and set up in the constructor method.
[3 xpt] Member 2 - Implement methods
Implement 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)
- 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
[3 xpt] member 1 - Functionality
- List all books
- List all labels (e.g. 'Gift', 'New')
- Add a book
[1 Xpt] Startup actions
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.
[3 xpt] member 2 - Functionality
- List all music albums
- List all genres (e.g 'Comedy', 'Thriller')
- Add a music album
[1 Xpt] Main file
Create a main.rb file that will serve as your console app entry-point.
Ruby Group Capstone
We are two members of this capstone project @zkr024 and @Aduda-Boaz
-
Team Member 1 - @Aduda-Boaz
-
Team member 2 - @zkr024
link to our Kanban project: https://github.com/zkr024/Item-Catalog/projects/1
[1 xpt] Member 1 - Tests
Add unit tests for all implemented methods.
[1 xpt] Member 2 - Tests
Add unit tests for all implemented methods.
[2 xpt] - Member 1 Preserve data
All data should be preserved by saving collections in .json files.
[2 xpt] Member 1 - Book
- Create a Book class in a separate .rb file.
- Create a Label class with an association to the Item class (in a separate .rb file).
- All Book class properties visible in the diagram should be defined and set up in the constructor method.
- All Label class properties visible in the diagram should be defined and set up in the constructor method.
[3 xpt] Member 1 - 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)
- 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
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.