GithubHelp home page GithubHelp logo

alphantihinduka / catalog_of_my_things Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 98 KB

The console app helps you to keep a record of different types of things you own: books, music albums, movies, and games. Everything is based on the UML class diagram. The data is stored in JSON files but also prepared a database with tables structure analogical to your program's class structure.

Ruby 100.00%

catalog_of_my_things's Introduction

wef

Hi ๐Ÿ‘‹, I'm NTIHINDUKA ALPHA

A passionate software developer

Coding

alphantihinduka

alphantihinduka

alphantihinduka

  • ๐ŸŒฑ Iโ€™m currently learning Javascript.

  • โšก Fun fact Listening to music, playing video games, watching movies, touring

Connect with me:

alphantihinduka alphantihinduka ntihinduka alpha alpha ntihinduka alpha256

Languages and Tools:

bootstrap css3 html5 illustrator javascript sass

alphantihinduka

alphantihinduka

catalog_of_my_things's People

Contributors

alphantihinduka avatar aneallaryea100 avatar eternalgratis avatar

Stargazers

 avatar

Watchers

 avatar

catalog_of_my_things's Issues

[3pt] Create a schema.sql file with tables. Member #3

  • 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

[1pt] Create MusicAlbum and Genre classes - Member#2

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

[1.5 pts] Create Item class in a separate .rb file.- Group task #1

  • 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

https://github.com/AlphaNtihinduka/catalog_of_my_things

[1.5 pts] Create Item class in a separate .rb file.- Group task

Github Project

There are 3 team members in the group:

Group task-team member#1
  • 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.

Team member1

  • 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.
  • 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
  • Add unit tests for all implemented methods.
  • The following options should be available:
    • List all books
    • List all labels (e.g. 'Gift', 'New')
    • Add a book
  • All data should be preserved by saving collections in .json files.
  • 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
Group task- Team member#2
  • 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
  • Create a main.rb file that will serve as your console app entry-point.

Team member#2

  • 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.
  • 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
  • Add unit tests for all implemented methods.
  • The following options should be available:
  • List all music albums
  • List all genres (e.g 'Comedy', 'Thriller')
  • Add a music album
  • All data should be preserved by saving collections in .json files.
  • 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
Group task- Team member#3
  • 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.

Team member#3

  • Create a Game class in a separate .rb file.
  • Create an Author class with an association to the Item class (in a separate .rb file).
  • All Game class properties visible in the diagram should be defined and set up in the constructor method.
  • All Author class properties visible in the diagram should be defined and set up in the constructor method.
    • 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
  • Add unit tests for all implemented methods.
  • The following options should be available:
    • List of games
    • List all authors (e.g. 'Stephen King')
    • Add a game
  • All data should be preserved by saving collections in .json files.
  • 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

[1.5pt] Implement add_item method in Genre class - Member #2

Implement method:

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

[1pt] Update schema.sql file- Member#1

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

[1pt] Implement add_item method in Label class- Member #1

Implement method:

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

[0.5pt]Implement startup actions-group task

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

[0.5pt] Create Book and Label classes -Member#1

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

[2.5pt] Update schema.sql file - Member #2

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

[1pt] Create a Game and Author class - Member #3

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

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.