This is the capstone project of the fourth module in the Microverse program.
Check the below contents for further details about this project.
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
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
📌 Mahammad:
📌 Alexander:
📌 Austin:
Some additional features I may implement in the project:
- Use
Rails
framework with this project - Implement better visual interface
Wish to contribute to this project?
Contributions, issues, and feature requests are more than welcome!
Feel free to check the issues page too.
Like this project? Show your support by starring!
I thank everyone at Microverse for guiding me through this project.
This project is MIT licensed.