Giter VIP home page Giter VIP logo

catalogue-my-things's Introduction

Hi there👋, I'm Abraha.

visitors

🛠️ Languages and Tools :

Ruby  React  Bootstrap  PostgreSQL  Webpack  Redux   CSS  HTML  JavaScript  MySQL  NodeJS 

👨‍💻 About Me :

  • 🔭 I’m currently working on sharpening my Data structures and Algorithms (DSA) skills.
  • 🌱 I’m currently learning web development.
  • 👯 I’m looking to collaborate on JavaScript, React-Redux, and Ruby on Rails Projects.
  • 📫 How to reach me: Email: [email protected], Linkedin: www.linkedin.com/in/abraha-kahsay
  • 😄 Pronouns: He/him
  • ⚡ Fun fact: Keep it Simple.

🔥 My GitHub stats:

My GitHub Stats My GitHub Language Stats

catalogue-my-things's People

Contributors

abrahakahsay avatar aizjicod avatar williamscch avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

williamscch

catalogue-my-things's Issues

[2pt] Add schemas

  • 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

[2pt] Set-up main.rb file

  • Create a main.rb file that will serve as your console app entry-point.

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

[3pt] 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

[2pt] Set-up folder for class for Game and Author

  • Create a Game class in a separate .rb file.
  • All Game class properties visible in the diagram should be defined and set up in the constructor method.
  • Create an Author class with an association to the Item class (in a separate .rb file).
  • All Author class properties visible in the diagram should be defined and set up in the constructor method.

[3pt] Create schema.sql for the Book and Labels Class

  • 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

[2pt] implement methods for Game and Author class

  • 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] Set-up the Items 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.
  • 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

[2pt] Set-up Label Class

  • Create a Label class with an association to the Item class (in a separate .rb file).
  • All Label class properties visible in the diagram should be defined and set up in the constructor method.

[3pt] Set-up Book Class

  • Create a Book class in a separate .rb file.
  • All Book 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)
    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 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.