- 📖 About the Project
- 💻 Getting Started
- 👥 Authors
- 🔭 Future Features
- 🤝 Contributing
- ⭐️ Show your support
- 🙏 Acknowledgements
- 📝 License
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.
Decorator pattern
-
Classes
Person
,Student
,Teacher
,Nameable
,Decorator
,CapitalizeDecorator
,TrimmerDecorator
,Classroom
,Student
,Book
andRental
-
The
student
andteacher
classes have Inheritance fromperson
-
Private methods
-
Use decorator pattern
-
Person
andDecorator
inherits fromNameable
-
CapitalizeDecorator
andTrimmerDecorator
inherits fromDecorator
-
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.rb
file -
main.rb
define the entry point -
Associations:
- has-many/belongs-to relationship between
Classroom
andStudent
- has-many/belongs-to relationship between
Book
andRental
- has-many/belongs-to relationship between
Person
andRental
- has-many/belongs-to relationship between
This repository includes files with ruby lenguage.
In order to run this project you need to have Ruby installed, check this documentation in order to know how to install it.
Clone this repository to your desired folder:
cd my-folder https://github.com/AndreaM2429/school_library
git clone
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
👤 Andrea Manuel
- GitHub: @AndreaM2429
- Twitter: @AndreaManuelOr1
- LinkedIn: Andrea Manuel
👤 Nicolas Bolañez
- GitHub: @Zven94
- LinkedIn: Nicolas Bolañez
👤 Javier Grau
- GitHub: @grauJavier
- LinkedIn: Javier Grau
- 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.
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
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.
I would like to thank Microverse for providing the necessary resources for this project.
This project is MIT licensed.