Skip to content

This is the capstone project of the fourth module in the Microverse program. It is a console app for handling items inside a catalogue built with Ruby & PostgreSQL.

License

Notifications You must be signed in to change notification settings

mahammad-mostafa/things-catalogue

Repository files navigation

🏷️ Things Catalogue

This is the capstone project of the fourth module in the Microverse program.
Check the below contents for further details about this project.

📗 Contents

📖 Description

This repository is about a catalogue of different item types that the user can add or display. There is one parent class Item and three children classes (Book / MusicAlbum / Game). Three classes (Label / Genre / Author) have one to many association with Item class. Built unit tests for implemented methods of seven classes (Item / Book / MusicAlbum / Game / Label / Genre / Author). Created database tables for items data inside schema.sql file.

📌 Live Demo:

  • Watch the project presentation from here

📌 Tech Stack:

  • Application uses Ruby
  • Unit tests run with RSpec
  • Linting is done with Rubocop
  • Schema file uses PostgreSQL

📌 Key Features:

  • User is given the option to either add new item or display a list
  • Available item types to add (book / music album / game)
  • Available list types to display (books / albums / games / labels / genres / authors)
  • Adding any new item will require the use to select (label / genre / author) form a list or create new ones
  • All items created by the user are stored in json files and reloaded after restart

back to top

🛠️ Instructions

You can easily download or fork this repository and work on it immadiately!

📌 Prerequisites:

  • You need Ruby language & PostgreSQL database installed

📌 Installation:

  • To install all gem dependencies run
bundle install

📌 Development:

  • Run main.rb file with
ruby main.rb

📌 Tests:

  • To run unit tests navigate to specs directory and run:
rspec . -f d

back to top

👥 Authors

📌 Mahammad:

📌 Alexander:

📌 Austin:

back to top

🔭 Future

Some additional features I may implement in the project:

  • Use Rails framework with this project
  • Implement better visual interface

back to top

🤝🏻 Contributions

Wish to contribute to this project?
Contributions, issues, and feature requests are more than welcome!
Feel free to check the issues page too.

back to top

⭐️ Support

Like this project? Show your support by starring!

back to top

🙏🏻 Acknowledgements

I thank everyone at Microverse for guiding me through this project.

back to top

📝 License

This project is MIT licensed.

back to top

About

This is the capstone project of the fourth module in the Microverse program. It is a console app for handling items inside a catalogue built with Ruby & PostgreSQL.

Topics

Resources

License

Stars

Watchers

Forks

Languages