Giter Site home page Giter Site logo

ruby_capstone's Introduction

Ruby Capstone Catalog.

This project is a Microverse ruby capstone and is a command line application built with Ruby. In this application the user can keep track of their books, games, and music albums.

The user also has the functionality to store all the labels, authors, and genres of the sections of the different items mentioned prior. The data will be stored in the JSON files and can be accessed everytime when the user opens the application.

Presentation

Built With:

  • Ruby
  • rspec

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

Make sure you already installed Ruby version 3 or higher and Git.

Setup

  1. Clone the repository using the below commands. git clone https://github.com/chimwemwe007/Ruby_Capstone

  2. cd Ruby-Catalog

  3. ruby main.rb

Usage Kindly modify the files as needed.

Authors

๐Ÿ‘ค Bengi Genc

๐Ÿ‘ค Kidist Guta

๐Ÿ‘ค Chimwemwe Mkandawire

๐Ÿค Contributing

Contributions, Issues, and feature requests are welcome!

Feel free to check the issues page.

Show your support

Give a โญ๏ธ if you like this project!

๐Ÿ“ License

This project is MIT licensed.

ruby_capstone's People

Contributors

bengigo avatar chimwemwe007 avatar ney2 avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

ney2 bengigo

ruby_capstone's Issues

[3pts] Create a schema.sql file for the games

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.5pts] Implement move_to_archived method.

  • 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

[1.5pts] Implement add_item method in 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).

[3pts] Create an Author class.

  • Author class crated 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.

[0.5pt] Create a main.rb file in a separate file

Define the entry point for the main.rb
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.

[5pts] 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 Genre class.

  • Genre class created 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.

[3pts] Create a schema.sql file for the music album

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

[3pts] Create a schema.sql file for the book

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

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.