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.
- 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.
In order to run this project you need:
cd my-folder
git clone https://github.com/Alejandroq12/the-catalog.git
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.
bundle install
To run the project, navigate to the project directory and execute the following command:
ruby main.rb
To run tests, run the following command:
Run the following command
rubocop
You can deploy this project using:
Not available at the moment.
👤 Julio Quezada
- GitHub: Alejandroq12
- Twitter: @JulioAle54
- LinkedIn: Julio Quezada
👤 Juan Carlos Muñoz
- GitHub: @jcmunav63
- Twitter: @jcmunav63
- LinkedIn: @juan-carlos-muñoz-navarrete
- 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 licensed.