https://github.com/alejandroq12/the-catalog
The Catalog project is an app developed to simulate the operations of a real-world library. This app is designed to utilize Object-Oriented Programming (OOP) principles to create a comprehensive system that captures vital library processes.
https://github.com/alejandroq12/the-catalog
Last synced: 2 months ago
JSON representation
The Catalog project is an app developed to simulate the operations of a real-world library. This app is designed to utilize Object-Oriented Programming (OOP) principles to create a comprehensive system that captures vital library processes.
- Host: GitHub
- URL: https://github.com/alejandroq12/the-catalog
- Owner: Alejandroq12
- License: mit
- Created: 2023-12-04T02:55:33.000Z (over 1 year ago)
- Default Branch: dev
- Last Pushed: 2023-12-14T15:16:29.000Z (over 1 year ago)
- Last Synced: 2025-01-08T10:45:49.562Z (4 months ago)
- Language: Ruby
- Homepage:
- Size: 195 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## The Catalog
![]()
The Catalog
# 📗 Table of Contents- [📗 Table of Contents](#-table-of-contents)
- [📖 The Catalog ](#-the-catalog-)
- [🛠 Built With ](#-built-with-)
- [Tech Stack ](#tech-stack-)
- [Key Features ](#key-features-)
- [💻 Getting Started ](#-getting-started-)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Usage](#usage)
- [Run tests](#run-tests)
- [Deployment](#deployment)
- [👥 Authors ](#-authors-)
- [🔭 Future Features ](#-future-features-)
- [🤝 Contributing ](#-contributing-)
- [⭐️ Show your support ](#️-show-your-support-)
- [🙏 Acknowledgments ](#-acknowledgments-)
- [❓ FAQ ](#-faq-)
- [📝 License ](#-license-)The Catalog project is an app developed to simulate the operations of a real-world library within OOP University. This app is designed to utilize Object-Oriented Programming (OOP) principles to create a comprehensive system that captures vital library processes.
![]()
### Key Features
- **Create necessary associations within the project to lay the foundation for the user interface development planned for the next milestone.**
- **Use of the decorator pattern, which is employed to add additional functionalities to objects dynamically.**
- **Add a console User Interface to run the application.**
- **Refactor the entire application to apply SOLID, YAGNI, KISS, & DRY principles.**
- **Preserve all data using files with JSON format.**
To get a local copy up and running, follow these steps.
### Prerequisites
In order to run this project you need:
[Install Ruby](https://www.ruby-lang.org/en/documentation/installation/)
### Setup
```sh
cd my-folder
git clone https://github.com/Alejandroq12/the-catalog.git
```
### Install
This project does not require additional dependencies, just Ruby interpreter. However, it uses RuboCop as a linter and you should set it up as well.
```sh
bundle install
```
### Usage
To run the project, navigate to the project directory and execute the following command:
```sh
ruby main.rb
```
### Run tests
To run tests, run the following command:
Run the following command
```sh
rubocop
```
### Deployment
You can deploy this project using:
Not available at the moment.
👤 **Julio Quezada**
- GitHub: [Alejandroq12](https://github.com/Alejandroq12)
- Twitter: [@JulioAle54](https://twitter.com/JulioAle54)
- LinkedIn: [Julio Quezada](https://www.linkedin.com/in/quezadajulio/)
👤 **Juan Carlos Muñoz**
- GitHub: [@jcmunav63](https://github.com/jcmunav63)
- Twitter: [@jcmunav63](https://twitter.com/jcmunav63)
- LinkedIn: [@juan-carlos-muñoz-navarrete](https://www.linkedin.com/in/juan-carlos-mu%C3%B1oz-navarrete-5a15b6276/)
- **I will add a user interface.**
- **I will preserve data.**
Contributions, issues, and feature requests are welcome!
If you like this project please give a star.
Thanks in advance.
I would like to thank all of my colleagues who inspire to do my best everyday.
**Did you create this project from scratch?**
- Yes, and for that reason, I have extensively learned about Object-Oriented Programming, including key concepts such as association, aggregation, and composition, as well as skills in running scripts, obtaining user input, adhering to best practices, and applying SOLID principles.
This project is [MIT](./LICENSE) licensed.