An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

        

## The Catalog



main-logo


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

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.


logo

## 🛠 Built With

### Tech Stack

### 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.**

(back to top)

## 💻 Getting Started

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.

(back to top)

## 👥 Authors

👤 **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/)

(back to top)

## 🔭 Future Features

- **I will add a user interface.**
- **I will preserve data.**

(back to top)

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

(back to top)

## ⭐️ Show your support

If you like this project please give a star.
Thanks in advance.

(back to top)

## 🙏 Acknowledgments

I would like to thank all of my colleagues who inspire to do my best everyday.

(back to top)

## ❓ FAQ

**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.

(back to top)

## 📝 License

This project is [MIT](./LICENSE) licensed.

(back to top)