Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iturres/catalog_manager
💎 Console app that helps you to keep a record of different types of things you own: books, music albums, and games.
https://github.com/iturres/catalog_manager
Last synced: 28 days ago
JSON representation
💎 Console app that helps you to keep a record of different types of things you own: books, music albums, and games.
- Host: GitHub
- URL: https://github.com/iturres/catalog_manager
- Owner: ITurres
- License: mit
- Created: 2023-11-20T17:28:37.000Z (about 1 year ago)
- Default Branch: development
- Last Pushed: 2023-11-28T22:09:10.000Z (about 1 year ago)
- Last Synced: 2024-11-29T07:42:13.042Z (about 1 month ago)
- Language: Ruby
- Size: 337 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Catalog Manager
---
# 📗 Table of Contents
- [📖 About the Project](#about-project)
- [Learning objectives](#learning-objectives)
- [Project Demo](#project-demo)
- [🛠 Built With](#built-with)
- [Tech Stack](#tech-stack)
- [💻 Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Usage](#usage)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-features)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)
- [📝 License](#license)---
- 💎 In this project, we created a console app that will help you to keep a record of different types of things you own: books, music albums, and games. Everything is based on the UML class diagram presented below. The data is stored in JSON files but we also prepared a database with tables structure analogical to our program's class structure.
#### Project Demo
Project Presentation Demo#### Learning objectives
- Insert and query data in SQL.
- Use primary key & foreign key mechanisms for joining tables.
- Understand the different types of relationships between tables.
- Use Ruby syntax for basic programming operations.
- Apply Ruby best practices and language style guides in code.
- Implement the SOLID principles of OOP.
- Implement classes and objects in Ruby.
- Understand the four main principles of OOP.
- Implement encapsulation and inheritance with Ruby.
- Create app from a UML class diagram.
- Explain the difference between associations, aggregations, and composition in OOP.
- Set up associations between classes and objects.
- Store data in files.
- Build interactive console apps.
- Recognize the value of making equal contributions to group projects to produce the best outcome.
---
To get a local copy up and running, follow these steps.
### Prerequisites
In order to run this project you need:
- Have Ruby installed. If you need to install Ruby, follow the instructions on the [official page](https://www.ruby-lang.org/en/documentation/installation/).
### Setup
Clone this repository to your desired folder:
Example commands:
- With SSH:
```bash
cd my-folder
git clone [email protected]:ITurres/catalog_manager.git
```
- With HTTPS:
```bash
cd my-folder
git clone https://github.com/ITurres/catalog_manager/.git
```
- With GitHub CLI:
```bash
cd my-folder
gh repo clone ITurres/catalog_manager
```
### Usage
Within the project folder
```bash
cd catalog_manager/
ruby main.rb
```
---
👤 **Arthur Iturres**
- GitHub: [@ITurres](https://github.com/ITurres)
- LinkedIn: [Arthur Emanuel G. Iturres](https://www.linkedin.com/in/arturoemanuelguerraiturres/)
- Angellist / Wellfound: [Arturo (Arthur) Emanuel Guerra Iturres](https://wellfound.com/u/arturo-arthur-emanuel-guerra-iturres)
- Youtube: [Arturo Emanuel Guerra Iturres - Youtube Channel](https://www.youtube.com/channel/UC6GFUFHOtBS9mOuI8EJ6q4g)
- Portfolio: [Arthur Iturres - Portfolio](https://iturres.github.io/iturres-reactive-portfolio/)
👤 **Demes Ameneshoa**
- GitHub: [@demesameneshoa](https://github.com/demesameneshoa)
- LinkedIn: [Demes Ameneshoa](https://www.linkedin.com/in/demesameneshoa/)
- Angellist / Wellfound: [Demes Ameneshoa](https://wellfound.com/u/demesameneshoa)
- Portfolio: [Demes Ameneshoa - Portfolio](https://demesameneshoa.github.io/Portfolio/)
---
- [x] Class Definitions.
- [x] Method implementations.
- [x] UI.
- [x] Preserve data and create db schema.
- [x] unit tests.
- [ ] Preserve `authors`, `labels` and `genres` separated.
---
Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](https://github.com/ITurres/catalog_manager/issues).
---
Give a ⭐ if you liked this project!
---
We thank the **Code Reviewers** for their advice and time 🏆
---
This project is [MIT](./LICENSE) licensed.
---