GithubHelp home page GithubHelp logo

techmoves / catalog-of-my-things Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 84 KB

This is a ruby program executed in CLI that allows users the options to add books and labels, music albums and their genre, and also a game and with the authors. It also gives the user flexibility to display all the details of the book, game and music album.

License: MIT License

Ruby 100.00%
postgresql ruby

catalog-of-my-things's Introduction

Hi ๐Ÿ‘‹, I'm Phelelani

A passinate Full Stack Web Developer from South Africa

Untitled video - Made with Clipchamp

dopezonke

  • ๐Ÿ’ฌ Ask me about React

Connect with me:

techmoves dopezonke https://www.linkedin.com/in/phelelani-ndlovu-883916160/ muh_condes

Languages and Tools:

aws bootstrap css3 cypress figma git html5 javascript jest mocha mongodb mysql nodejs rails react reactnative redux ruby sass webpack

techmoves

ย techmoves

techmoves

techmoves

techmoves

catalog-of-my-things's People

Contributors

abdelazizsoliman avatar alewaweru avatar techmoves avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

catalog-of-my-things's Issues

Add MusicAlbum class

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.

[1pt]Add Book class TEAM A

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

[1pt]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)

[GroupTask][0.5pt]Create Item class in a separate .rb file.

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.5pt] [TEAM2] add_tem 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)

[GroupTask][1.5pt]Add all methods visible in the diagram.

Implement methods:
can_be_archived?() in the Item class
should return true if published_date is older than 10 years
otherwise, it should return false
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

[1pt] Add book class

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.

Add Game

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.

[2pt] Implement add_item/can_be_archived? methods

Implement methods:

  • 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)

  • 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

[1pt] Create a schema.sql for Game/Auther

  • Create a schema.sql file with tables that will be analogical to the structure of the classes that you created:
  • games table (add all properties and associations from the parent Item class as table columns)
  • authors table

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.