Skip to content

AndreaM2429/SchoolLibrary

Repository files navigation

School Library

📗 Table of Contents

📖 School Library

School Library is OOP programs that is inspired in a libary system. With it you can run what books are in the library and who borrows them.

🛠 Built With

Tech Stack

Ruby
Decorator pattern

Key Features

  • Classes Person, Student, Teacher, Nameable, Decorator, CapitalizeDecorator, TrimmerDecorator, Classroom, Student, Book and Rental

  • The student and teacher classes have Inheritance from person

  • Private methods

  • Use decorator pattern

  • Person and Decorator inherits from Nameable

  • CapitalizeDecorator and TrimmerDecorator inherits from Decorator

  • CapitalizeDecorator capitalize the name

  • TrimmerDecorator trim the word at maximun of 10 characters

  • The app.rb serve as the console app entry-point

  • Basic UI when you run the main.rbfile

  • main.rb define the entry point

  • Associations:

    • has-many/belongs-to relationship between Classroom and Student
    • has-many/belongs-to relationship between Book and Rental
    • has-many/belongs-to relationship between Person and Rental

(back to top)

💻 Getting Started

This repository includes files with ruby lenguage.

Prerequisites

In order to run this project you need to have Ruby installed, check this documentation in order to know how to install it.

Setup

Clone this repository to your desired folder:

  cd my-folder https://github.com/AndreaM2429/school_library
  git clone

Usage

To run the project, execute the command ruby name_file.rb. Example:

  ruby tests.rb

To run the app in the basic console UI, execute the command:

  ruby main.rb

To check the linters you can use the command:

  rubocop

To fix the linter use:

  rubocop --fix

(back to top)

👥 Author

👤 Andrea Manuel

👤 Nicolas Bolañez

👤 Javier Grau

(back to top)

🔭 Future Features

  • Preserve data: Students will work on data persistence, ensuring that the records are preserved even after the program is closed.
  • Unit tests: The final project involves creating unit tests to ensure the functionality and robustness of the app.

(back to top)

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

⭐️ Show your support

If you like this project you could clone the repo and work with it or do the changes in a new branch. Also you could let a message with your thoughts.

(back to top)

🙏 Acknowledgments

I would like to thank Microverse for providing the necessary resources for this project.

(back to top)

📝 License

This project is MIT licensed.

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages