Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/benmukebo/school-library


https://github.com/benmukebo/school-library

Last synced: 7 days ago
JSON representation

Awesome Lists containing this project

README

        

![](https://img.shields.io/badge/Microverse-blueviolet)

# OOP school library

## Description

> Use OOP to build a simple app.

## Learning objectives
- Implement classes and objects in Ruby.
- Implement encapsulation and inheritance with Ruby.
- Run a program using the command line.
- Implement composition (as an example of the design pattern)
- Run a program using the command line.
- Run a program using the command line.
- Set up associations between classes and objects.
- Build interactive console apps.
- Run a program using the command line.

## Getting Started

Imagine that you are the librarian of OOP University, and you need a tool to record what books are in the library and who borrows them. The app that you will create will allow a you to:

- Add new students or teachers.
- Add new books.
- Save records of who borrowed a given book and when.

## Setup

### Clone this repository

```bash
$ git clone https://github.com/BenMukebo/school-library.git
$ cd school-library
```

## Install linter

```bash
$ bundle init
$ bundle install
```

## Run linter

```bash
$ rubocop .
```

### Auto-correct

In auto-correct mode, RuboCop will try to automatically fix offenses:

```bash
$ rubocop -A
# or
$ rubocop --auto-correct-all
```
## Install unit tests

```bash
$ gem install rspec
```

## Run unit tests

```bash
$ rspec spec or just
$ rspec
```

## Install pry

```bash
$ gem install pry
```

## Built With

This project is build with:

- ![Ruby](https://img.shields.io/badge/-Ruby-000000?style=flat&logo=ruby&logoColor=red)

## Authors

👤 **Ben Mukebo**

- GitHub: [@BenMukebo](https://github.com/BenMukebo)
- Twitter [@BenMukebo](https://twitter.com/BenMukebo)
- LinkedIn [BenMukebo](https://www.linkedin.com/in/kasongo-mukebo-ben-591720205/)

## 🤝 Contributor

👤 **Muhammad Sesay**

- GitHub: [@mmsesay](https://github.com/mmsesay)
- Twitter [@DeeMaejor](https://twitter.com/DeeMaejor)
- LinkedIn [MuhammadSesay](https://www.linkedin.com/in/muhammad-m-sesay/)

Contributions, issues, and feature requests are welcome!

Feel free to check the [issues page](https://github.com/BenMukebo/school-library/issues).

## Show your support

Give a ⭐️ if you like this project!

## Acknowledgments

- Hat tip to anyone whose code was used
- Inspiration
- etc

## 📝 License

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