/Catalog-of-my-things

In this group project, we create a console app that helps to keep a record of different types of things: books, music albums, movies, and games. Everything is based on a UML class diagram. The data is stored in JSON files but we will also prepare a database with tables structure analogical to the program's class structure.

Primary LanguageRubyMIT LicenseMIT

πŸ€– CatalogueMe πŸ€–

πŸ“— Table of Contents

πŸ“– CATALOGUEME

In this group project, we create a console app that helps to keep a record of different types of things.
Our things are books, music albums, movies, and games.
They are inherint from the Item class.
The Item class has an association one to many with Genre, Author, Label, and Source.
Everything is based on a UML class diagram below.
In this project, all the data is stored in JSON files.
We will also prepare a database with tables structure analogical to the program's class structure.
For each method, we create a related unit test to it using Rspec.

catalog_of_my_things

πŸ›  Built With

Tech Stack

Server
Database
Testing Framework

Key Features

  • Book, Music Album, Movie, and Game inherit Item class
  • Ability to add a book
  • Ability to list all books
  • Ability to add a music album
  • Ability to list all music albums
  • Ability to add a game
  • Ability to list all games
  • Ability to set author to Item
  • Ability to set genre to Item
  • Ability to set label to Item
  • Ability to list all authors (e.g. 'Stephen King')
  • Ability to list all genres (e.g 'Comedy', 'Thriller')
  • Ability to list all labels (e.g. 'Gift', 'New')
  • Ability to write on JSON file
  • Ability to read from JSON file
  • Have a schema.sql to create database analogical to the program's structure
  • Have unit test for each method

(back to top)

πŸ’» Getting Started

To get a local copy up and running, follow these steps:

Prerequisites

In order to run this project you need:

  • Terminal to run the irb console

Setup

Clone this repository to your desired folder:

Example commands:

  cd my-folder
  git clone git@github.com:Marcraphael12/Catalog-of-my-things.git

Install

Install this project with:

Example command:

  cd Catalog-of-my-things
  bundle install

Usage

Example command:

  ruby main.rb

Run tests

Example command:

  rspec spec

(back to top)

πŸ‘₯ Authors

πŸ¦„ Clarielle Larissa

πŸ˜Άβ€πŸŒ«οΈ Marc Raphael

🀠 Christian Hakizimana

(back to top)

πŸ”­ Future Features

  • [Add a movie]
  • [List all movies]
  • [Set sources to Item]
  • [List all sources (e.g. 'From a friend', 'Online shop')]

(back to top)

🀝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

⭐️ Show your support

If you like this project kindly give it a ⭐️ STAR ⭐️

(back to top)

πŸ™ Acknowledgments

We would like to thank:

  • Microverse
  • Code Reviewers

(back to top)

πŸ“ License

This project is MIT licensed.

(back to top)