- π About the Project
- π» Getting Started
- π₯ Authors
- π Future Features
- π€ Contributing
- βοΈ Show your support
- π Acknowledgements
- π License
Catalog Of My Things is an app that will help user to keep a record of different types of things they own: books, music albums, and games. The data is stored in JSON files. There is also a database with tables structure analogical to program's class structure. Everything will be based on the UML class diagram presented below.
Want to know more about the project? Click here
This project is built with Ruby.
Database
Ruby
- Logic
- Implementation of class: Item, Book, Label MusicAlbum, Genre, Game, and Author
- Implementation of associations (1-to-many relationships) and aggregations (parent-child relationships) between classes
- Implementation of methods: add_item, can_be_archived?, and move_to_archive
- Unit tests for all implemented methods
- User Interface
- Has a console app that
- 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
- The following options are available:
- List all books
- List all music albums
- List all movies
- List of games
- List all genres (e.g 'Comedy', 'Thriller')
- List all labels (e.g. 'Gift', 'New')
- List all authors (e.g. 'Stephen King')
- List all sources (e.g. 'From a friend', 'Online shop')
- Add a book
- Add a music album
- Add a movie
- Add a game
- All data are preserved by saving collections in .json files
- Database
- Has tables that is analogical to the structure of classes in the app
This repository includes files with plain SQL that can be used to recreate a database:
- Use schema.sql to create all tables.
In order to run this project you need:
- Download and Install Ruby for your OS.
- Download and Install PostgreSQL
- VS Code
Clone this repository to your desired folder:
git clone https://github.com/anita00001/Catalog-of-my-things.git
cd Catalog-of-my-things
psql
Install this project with:
gem install
bundle install
To run the project, execute the following command:
ruby main.rb
To run linters check, run the following command:
gem install rubocop
rubocop
gem install rspec
rspec
π€ Anita Sharma
- GitHub: @anita00001
- LinkedIn: anitaa-sharmaa
- Twitter: @anitaa_sharmaa
π€ Isaac Ayodele
- Add more item in my Catalog (eg: Movie)
- Add additional methods like: remove a selected book
- Add additional methods like: sort music by genre
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
If you like this project, you can appreciate us by giving star β
We would like to thank Microverse for providing this opportunity to build this project. Also, we extend my sincere gratitute to Code Reviewers who encourage and support to build this application more effieiently.
This project is MIT licensed.