Git Product home page Git Product logo

catalog-of-my-things's Introduction

image

Salam ๐Ÿ‘‹!

const adel_๐Ÿค“ = {
  title: "Full Stack Web Software Engineer",
  education: "Microverse remote full stack web development",
  description: "Coffee addict and a team player who thrives on collaboration and connecting with diverse individuals.",
  talkAbout: ['Web development', 'Tech', 'Computer Science'],
  onFreeTime: {
    drinking: "Coffee",
    reading: "Startups, Businesses, and Technologies",
    connecting: "Sharing knowledge with others."
  },
  dailyTechUsed: {
    frontEnd: {
      core: "React",
      framework: "Next",
      uiState: "Redux",
      remoteState: "Tanstack",
      Styling: ["TailwindCSS", "styled-components"],
      uiFrameWorks: ["Shadcn", "antD"]
    },
    backEnd: ["Node", "Express"],
    DataBase: ["MongoDB", "PostgresSql"]
  },
  currentFocus: ["React Design system", "Microservices", "DevOps"],
  futureFocus: ["Blockchain", "Artificial Intelligence"]
};                                                                   

My stack:

css html sass bootstrap js ts react ruby rails postgresql

Other tools:

webpack jest (1) linters git figma

Contact me on:

EMAIL (2) linkdin TWITTER

Recent Articles:

MEDUIM

Credits ๐Ÿ‘

catalog-of-my-things's People

Contributors

adel-gu avatar baayeh avatar j-tee avatar richardchileya avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

baayeh

catalog-of-my-things's Issues

[0.5pt] Create Item class (Group Task)

Item Class

  • Create an 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

[1pt] User Interface (Team Member #3)

Implement UI

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

[1pt] Create a Movie class (Team Member #4)

Movie Class

  • Create Movie class in a separate .rb file.
  • All Movie class properties visible in the diagram should be defined and set up in the constructor method.
  • Implement methods:
    • 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
  • Add unit tests for all implemented methods.

[1pt] User Interface (Team Member #2)

Implement UI

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

[1pt] Create Game class (Team Member #3)

Game class

  • 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.
  • Implement methods:
    • 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.

[0.5pt] Create App Entry point (Group Task)

App Entry point

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

[1pt] Create a Source class (Team Member #4)

Source Class

  • Create a Source class with an association to the Item class (in a separate .rb file).
  • All Source class properties visible in the diagram should be defined and set up in the constructor method.
  • Implement methods:
    • 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)
  • Add unit tests for all implemented methods.

[1pt] Create Label class (Team Member #1)

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.
  • 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)
  • Add unit tests for all implemented methods.

[1pt] Create Book class (Team Member #1)

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:
    • 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 "bad"
      • otherwise, it should return false
  • Add unit tests for all implemented methods.

[1pt] User Interface (Team Member #4)

Implement UI

  • The following options should be available:
    • List all movies
    • List all sources (e.g. 'From a friend', 'Online shop')
    • Add a movie
  • All data should be preserved by saving collections in .json files.

[1pt] Create MusicAlbum class (Team Member #2)

MusicAlbum class

  • Create MusicAlbum class in a separate .rb file.
  • 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
  • Add unit tests for all implemented methods.

[1pt] Create Genre class (Team Member #2)

Genre Class

  • Create Genre class with an association to the Item class (in a separate .rb file).
  • 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)
  • Add unit tests for all implemented methods.

[1pt] User Interface (Team Member #1)

Implement UI

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

[1pt] Refactor Code and Documentation (Group Task)

Code Refactor and Documentation

  • Implement SOLID principles
  • Improve User Interface
  • Update README file
  • Record a video presenting the features of the project you built. It is a video with a maximum length of 5 minutes. The content of the video should include:
    • A description of the project.
    • A demo of the project features.
    • You should also highlight some interesting piece of code or something you built that you are very proud of.
    • You all should appear in the video and talk about the project.

[1pt] Create an Author class (Team Member #3)

Author Class

  • 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.
  • 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)
  • Add unit tests for all implemented methods.

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.