"OOP School Library" is a program made in ruby for a University library, which was created using the object-oriented programming paradigm. The program allows users to register new students and teachers, manage book information, and more efficiently control books borrowing.
- Ruby
- Linters
- Rubocop
- Apply SOLID principles
- Data persistent in JSON files
- Follow Microverse's list of best practices
To get a local copy up and running, follow these steps.
In order to run this project you need:
A code editor (we recommend Visual Studio Code)
Git and a GitHub account
Clone this repository to your desired folder by using this 👇️ command :
git clone https://github.com/NitBravoA92/oop-school-library.git
Go to the project directory:
cd oop-school-library
Before to run the program, verify that you have Ruby installed on your OS running the following command:
ruby -v
It should show you the version of ruby installed. If this does not happen and only an error message is displayed, then you should either verify your installation or install Ruby from scratch.
Run the following command inside the project folder:
ruby main.rb
This will display the main application menu:
Welcome to School Library App!
Please choose an option by enterin a number:
1. List all books
2. List all people
3. Create a person
4. Create a book
5. Create a rental
6. List all rentals for a given person id
7. Exit
You can navigate through the program's options menu to create books, students, teachers, and book rentals. You can also see the list of all the records you have previously added.
- Not aplicable.
👤 Nitcelis Bravo
- GitHub: Nitcelis Bravo
- Twitter: @softwareDevOne
- LinkedIn: Nitcelis Bravo Alcala
👤 Ahmed Eid
- GitHub: Ahmed Eid
- Twitter: @ahmedeid2684
- LinkedIn: Ahmed Eid
Upcoming improvements:
- Implement the "Decorator" design pattern to extends the functionalities of the classes
- Implement the association relationships
- Add basic UI to the program
- Apply SOLID principles
- Preserve data
- Create unit tests
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
If you like this project and know someone who might find it helpful, please share it. Or give it a star ⭐️ if you like this project!
I thank Microverse for this fantastic opportunity, and the code reviewers for their advice and time.
This project is MIT licensed.