https://github.com/pablobona/school_library
In this project, I will start building a school library app. In this initial step, I will implement the classes to represent students and teachers.
https://github.com/pablobona/school_library
databases ruby ruby-app
Last synced: 10 months ago
JSON representation
In this project, I will start building a school library app. In this initial step, I will implement the classes to represent students and teachers.
- Host: GitHub
- URL: https://github.com/pablobona/school_library
- Owner: PabloBona
- Created: 2023-08-28T00:21:12.000Z (over 2 years ago)
- Default Branch: dev
- Last Pushed: 2023-09-09T04:52:14.000Z (over 2 years ago)
- Last Synced: 2025-03-30T19:51:14.078Z (11 months ago)
- Topics: databases, ruby, ruby-app
- Language: Ruby
- Homepage:
- Size: 49.8 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# School Library (OOP)
# 📗 Table of Contents
- [📖 About the Project](#about-project)
- [🛠 Built With](#built-with)
- [Tech Stack](#tech-stack)
- [Key Features](#key-features)
- [💻 Getting Started](#getting-started)
- [Setup](#setup)
- [Prerequisites](#prerequisites)
- [Usage](#usage)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-project)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [❓ FAQ](#faq)
- [📝 License](#license)
Welcome to the School Library app for OOP University! As the librarian, you can use this tool to manage the library's collection of books and keep track of who borrows them. This organized and intuitive app will help you:
- Add new students or teachers to the library.
- Add new books to the collection.
- Record who borrowed a specific book and when it was borrowed.
## 🛠 Built With
This project is built using Ruby, a dynamic, open-source programming language known for its simplicity and productivity. Ruby's elegant syntax and powerful features make it a popular choice among developers.
Visit the official [Ruby Website](https://www.ruby-lang.org/) website to learn more about the language and its capabilities.
This project is implemented using the Ruby programming language, known for its elegant syntax and flexibility. Ruby provides a suitable foundation for this Morse code decoding project due to its ease of use and string manipulation capabilities.
## Key Features
- [x] Implementation of functions using `def ...end` syntax.
- [x] Display output using `puts ...`.
- [x] Create classes using `class ...end` syntax.
- [x] Preserve the data in `json` format.
- [x] Retrieve data from the existing file and save to the their relavent arrays
## Future Features
- Command-line Interface: Enhance the app by adding a command-line interface for easy interaction and management of the library's functions.
- Book Recommendations: Implement a feature that suggests related books to borrowers based on their borrowing history and interests.
- Notifications System: Develop a notifications system to remind borrowers of upcoming due dates for returned books.
## Getting Started
1. Clone the project repository:
```
git clone https://github.com/PabloBona/school_library.git
```
## Setup
To set up the project locally, follow these steps:
1. Clone the project repository:
```
git clone https://github.com/PabloBona/school_library.git
```
2. Navigate to the project folder:
```
cd school_library
```
### Prerequisites
- An integrated development environment (IDE) like Visual Studio Code.
- Ruby installed on your machine.
- Git installed on your machine.
- A GitHub account for version control.
Follow these steps to use the program:
1. Open your terminal.
2. Navigate to the directory where the program files are located using the `cd` command.
```bash
cd /path/to/your/program/files
```
3. Start the Interactive Ruby (IRB) console by typing `irb` and pressing Enter.
```bash
irb
```
4. Inside the IRB console, load the `test.rb` file to execute the program.
```ruby
load 'test.rb'
```
5. The program will run, and you will see the output in the console.
```
maximilianus
Maximilianus
Maximilian
Classroom label: Math
Student 1: Alice (16 years old)
Student 2: Bob (17 years old)
Rental date: 2023-08-30
Rental person: John
Rental book: The Great Gatsby
Person's rentals: ["The Great Gatsby"]
Book's rentals: ["John"]
=> true
```
6. To create a Person, Book or Rental object, use the following syntax:
```
ruby main.rb
```
You will see the following output in the console:
```
Welcome to OOP School Library Application!
Please choose an option by entering a number:
1 - List all books
2 - List all people
3 - Create a person(student or teacher)
4 - Create a book
5 - Create a rental
6 - List all rentals for a given person id
7 - Exit
```
7. Enter the number corresponding to the option you want to execute and press Enter.
That's it! You've successfully executed the program.
Remember to replace `/path/to/your/program/files` with the actual path to the directory where your program files are located.
## Authors
👤 **Pablo Bonasera**
- GitHub: [@PabloBona](https://github.com/PabloBona)
- LinkedIn: [@PabloBona](https://www.linkedin.com/in/pablo-bonasera/)
👤 **Mohammad Anwar Hussaini**
- GitHub: [@Anwar Hussaini](https://github.com/M-Anwar-Hussaini/)
- X: [@Anwar Hussaini](https://twitter.com/MAnwarHussaini)
- LinkedIn: [Anwar Hussaini](https://www.linkedin.com/in/anwar-hussaini/)
👤 **Dani Morillo**
- GitHub: [danifromecuador](https://github.com/danifromecuador)
- LinkedIn: [danifromecuador](https://www.linkedin.com/in/danifromecuador)
**Q: How do I add a new student or teacher to the library?**
A: To add a new student or teacher to the library, you can leverage the methods provided in the Ruby script. There will be functions designed to facilitate the addition of new individuals to the library's database. Make sure to follow the usage instructions in the appropriate sections of the README.
**Q: Is there a plan to add more features to this application?**
A: Yes, the development team has plans to enhance this application's capabilities. One upcoming feature is to make the application executable via the command line, providing more convenience and accessibility to users.
**Q: How can I contribute to the School Library (OOP) project?**
A: Contributions are highly encouraged! If you have ideas, suggestions, or identify issues, please feel free to submit them through the project's GitHub repository. Refer to the contributing guidelines for more details.
**Q: Where can I find more information about the Ruby programming language?**
A: For more information about Ruby, its features, and its community, visit the official [Ruby website](https://www.ruby-lang.org/).
## 🤝 Contributing
Contributions, issues, and feature requests are welcome! Feel free to check the [issues page](https://github.com/PabloBona/school_library/issues).
## Show your support
If you find this project helpful, consider giving it a ⭐️ to show your support!
## Acknowledgments
I would like to thank Microverse and all my peers and colleagues at Microverse for giving me the opportunity to work on this project.
This project is [MIT](MIT.md) licensed.