{"id":23205773,"url":"https://github.com/pablobona/school_library","last_synced_at":"2025-04-23T23:50:46.424Z","repository":{"id":191078051,"uuid":"683869463","full_name":"PabloBona/school_library","owner":"PabloBona","description":"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.","archived":false,"fork":false,"pushed_at":"2023-09-09T04:52:14.000Z","size":51,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-03-30T19:51:14.078Z","etag":null,"topics":["databases","ruby","ruby-app"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PabloBona.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-28T00:21:12.000Z","updated_at":"2023-09-27T17:31:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"782995c1-2b33-4d61-a347-66df7643eaf0","html_url":"https://github.com/PabloBona/school_library","commit_stats":null,"previous_names":["pablobona/school_library"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloBona%2Fschool_library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloBona%2Fschool_library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloBona%2Fschool_library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloBona%2Fschool_library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PabloBona","download_url":"https://codeload.github.com/PabloBona/school_library/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250535091,"owners_count":21446506,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["databases","ruby","ruby-app"],"created_at":"2024-12-18T16:45:14.147Z","updated_at":"2025-04-23T23:50:46.407Z","avatar_url":"https://github.com/PabloBona.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# School Library (OOP)\n\n# 📗 Table of Contents\n\n- [📖 About the Project](#about-project)\n  - [🛠 Built With](#built-with)\n    - [Tech Stack](#tech-stack)\n    - [Key Features](#key-features)\n- [💻 Getting Started](#getting-started)\n  - [Setup](#setup)\n  - [Prerequisites](#prerequisites)\n  - [Usage](#usage)\n- [👥 Authors](#authors)\n- [🔭 Future Features](#future-project)\n- [🤝 Contributing](#contributing)\n- [⭐️ Show your support](#support)\n- [❓ FAQ](#faq)\n- [📝 License](#license)\n\n\n# School Library (OOP) \u003ca name=\"about-project\"\u003e\u003c/a\u003e\n\nWelcome 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:\n\n- Add new students or teachers to the library.\n- Add new books to the collection.\n- Record who borrowed a specific book and when it was borrowed.\n\n## 🛠 Built With \u003ca name=\"key-features\"\u003e\u003c/a\u003e\nThis 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.\n\nVisit the official [Ruby Website](https://www.ruby-lang.org/) website to learn more about the language and its capabilities.\n\n### Tech Stack \u003ca name=\"tech-stack\"\u003e\u003c/a\u003e\n\nThis 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.\n\n## Key Features \u003ca name=\"about-project\"\u003e\u003c/a\u003e\n- [x] Implementation of functions using `def ...end` syntax.\n- [x] Display output using `puts ...`.\n- [x] Create classes using `class ...end` syntax.\n- [x] Preserve the data in `json` format.\n- [x] Retrieve data from the existing file and save to the their relavent arrays\n\n## Future Features \u003ca name=\"future-project\"\u003e\u003c/a\u003e\n- Command-line Interface: Enhance the app by adding a command-line interface for easy interaction and management of the library's functions.\n- Book Recommendations: Implement a feature that suggests related books to borrowers based on their borrowing history and interests.\n- Notifications System: Develop a notifications system to remind borrowers of upcoming due dates for returned books.\n\n## Getting Started \u003ca name=\"getting-started\"\u003e\u003c/a\u003e\n1. Clone the project repository:\n   ```\n   git clone https://github.com/PabloBona/school_library.git\n   ```\n## Setup \u003ca name=\"setup\"\u003e\u003c/a\u003e\nTo set up the project locally, follow these steps:\n1. Clone the project repository:\n   ```\n   git clone https://github.com/PabloBona/school_library.git\n   ```\n2. Navigate to the project folder:\n   ```\n   cd school_library\n   ```\n\n### Prerequisites \u003ca name=\"prerequisites\"\u003e\u003c/a\u003e\n- An integrated development environment (IDE) like Visual Studio Code.\n- Ruby installed on your machine.\n- Git installed on your machine.\n- A GitHub account for version control.\n\n# Usage of Ruby \u003ca name=\"usage\"\u003e\u003c/a\u003e\n\nFollow these steps to use the program:\n\n1. Open your terminal.\n2. Navigate to the directory where the program files are located using the `cd` command.\n\n```bash\ncd /path/to/your/program/files\n```\n\n3. Start the Interactive Ruby (IRB) console by typing `irb` and pressing Enter.\n\n```bash\nirb\n```\n\n4. Inside the IRB console, load the `test.rb` file to execute the program.\n\n```ruby\nload 'test.rb'\n```\n\n5. The program will run, and you will see the output in the console.\n\n```\nmaximilianus\nMaximilianus\nMaximilian\nClassroom label: Math\nStudent 1: Alice (16 years old)\nStudent 2: Bob (17 years old)\nRental date: 2023-08-30\nRental person: John\nRental book: The Great Gatsby\nPerson's rentals: [\"The Great Gatsby\"]\nBook's rentals: [\"John\"]              \n=\u003e true\n```\n\n6. To create a Person, Book or Rental object, use the following syntax:\n\n```\nruby main.rb\n```\nYou will see the following output in the console:\n\n```\nWelcome to OOP School Library Application!\n\nPlease choose an option by entering a number: \n1 - List all books\n2 - List all people\n3 - Create a person(student or teacher)\n4 - Create a book\n5 - Create a rental\n6 - List all rentals for a given person id\n7 - Exit\n```\n\n7. Enter the number corresponding to the option you want to execute and press Enter.\n\nThat's it! You've successfully executed the program.\n\nRemember to replace `/path/to/your/program/files` with the actual path to the directory where your program files are located.\n\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Authors \u003ca name=\"authors\"\u003e\u003c/a\u003e\n👤 **Pablo Bonasera**\n- GitHub: [@PabloBona](https://github.com/PabloBona)\n- LinkedIn: [@PabloBona](https://www.linkedin.com/in/pablo-bonasera/)\n\n👤 **Mohammad Anwar Hussaini**\n- GitHub: [@Anwar Hussaini](https://github.com/M-Anwar-Hussaini/)\n- X: [@Anwar Hussaini](https://twitter.com/MAnwarHussaini)\n- LinkedIn: [Anwar Hussaini](https://www.linkedin.com/in/anwar-hussaini/)\n\n👤 **Dani Morillo**\n- GitHub: [danifromecuador](https://github.com/danifromecuador)\n- LinkedIn: [danifromecuador](https://www.linkedin.com/in/danifromecuador)\n\n## ❓ FAQ \u003ca name=\"faq\"\u003e\u003c/a\u003e\n\n**Q: How do I add a new student or teacher to the library?**\nA: 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.\n\n**Q: Is there a plan to add more features to this application?**\nA: 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.\n\n**Q: How can I contribute to the School Library (OOP) project?**\nA: 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.\n\n**Q: Where can I find more information about the Ruby programming language?**\nA: For more information about Ruby, its features, and its community, visit the official [Ruby website](https://www.ruby-lang.org/).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n## 🤝 Contributing \u003ca name=\"contributing\"\u003e\u003c/a\u003e\nContributions, issues, and feature requests are welcome! Feel free to check the [issues page](https://github.com/PabloBona/school_library/issues).\n\n##  Show your support \u003ca name=\"support\"\u003e\u003c/a\u003e\nIf you find this project helpful, consider giving it a ⭐️ to show your support!\n\n## Acknowledgments \u003ca name=\"acknowledgements\"\u003e\u003c/a\u003e\nI would like to thank Microverse and all my peers and colleagues at Microverse for giving me the opportunity to work on this project.\n\n## 📝 License \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nThis project is [MIT](MIT.md) licensed.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablobona%2Fschool_library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpablobona%2Fschool_library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablobona%2Fschool_library/lists"}