Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hafiz1379/oop-school-library

Discover the OOP School Library, a Ruby-powered app for efficient book and borrower management. Over a week, build classes for students, teachers, and books, create associations, add a simple user interface, refactor code, ensure data persistence, and implement unit tests. A practical example of object-oriented programming in action.
https://github.com/hafiz1379/oop-school-library

rspec ruby rubygems testing

Last synced: 20 days ago
JSON representation

Discover the OOP School Library, a Ruby-powered app for efficient book and borrower management. Over a week, build classes for students, teachers, and books, create associations, add a simple user interface, refactor code, ensure data persistence, and implement unit tests. A practical example of object-oriented programming in action.

Awesome Lists containing this project

README

        

# 📗 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)
- [Install](#install)
- [Usage](#usage)
- [Run tests](#run-tests)
- [Deployment](#triangular_flag_on_post-deployment)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-features)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)
- [📝 License](#license)

# 📖 OOP school library

**OOP school library**
This project focused on building a Ruby school library app. Key achievements include:
1- Implemented three classes: Person, Student, and Teacher.
2- Utilized encapsulation and inheritance principles.
3- Enabled command-line program execution.
4- Followed Ruby best practices for code quality and documentation.

This foundational work sets the stage for future app development and functionality expansion.

## 🛠 Built With

### Tech Stack

Ruby

### Key Features

- **[Class Hierarchy: Implemented a hierarchy of classes including Person, Student, and Teacher for modeling individuals in a school setting.]**
- **[Encapsulation and Inheritance: Demonstrated mastery of object-oriented principles by encapsulating data and behaviors and using inheritance to share common attributes.]**
- **[Command-Line Execution: Enabled the program to be executed directly from the command line, enhancing accessibility and usability.]**

## 💻 Getting Started

To get a local copy up and running, follow these steps.

### Prerequisites

In order to run this project you need:

### Setup

Clone this repository to your desired folder:

### Prerequisites

In order to run this project you need:

- Install [Ruby](https://www.ruby-lang.org/en/documentation/installation/).
- Create a repo on your repositores files.
- Clone or make a copy of this repo on your local machine.
- Follow GitHub flow.
- A carefully reading of this README.md is required.

### Setup

Clone this repository to your desired folder:

```sh
cd my-folder
git clone https://github.com/hafiz1379/OOP_school_library
```

### Install

Install this project with:

```sh
bundle install
```

### Usage

To run the project, run the following command:

```sh
ruby test.rb
```

### Run tests

To run tests, run the following command:

```
rubocop
```

(back to top)

## 👥 Authors

👤 **Hafizullah Rasa**

- GitHub: [@githubhandle](https://github.com/hafiz1379)
- Twitter: [@twitterhandle](https://twitter.com/Hafizrasa1379?s=35)
- LinkedIn: [LinkedIn](https://www.linkedin.com/in/hafizullah-rasa-8436a1257/)

👨🏼‍🚀 **Juan Diego Guerra (JD)** 👾

- GitHub: [@JuanDiegoGuerra](https://github.com/JuanDiegoGuerra)
- LinkedIn: [Juan Guerra](https://www.linkedin.com/in/juan-guerra-65076b1ba/)

(back to top)

## 🔭 Future Features

- **[map Method]**
- **[reduce Method]**
- **[sort Method]**

(back to top)

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the [issues page](../../issues/).

(back to top)

## ⭐️ Show your support

If you like this project, star the project if you like it

(back to top)

## 🙏 Acknowledgments

I would like to thank my mentor and my cod partners for support

(back to top)

## 📝 License

This project is [MIT](./LICENSE) licensed.

(back to top)