GithubHelp home page GithubHelp logo

nitbravoa92 / oop-school-library Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 0.0 76 KB

"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.

License: MIT License

Ruby 100.00%
object-oriented-programming rspec-testing ruby solid-principles

oop-school-library's Introduction

OOP School Library | Ruby Project

📗 Table of Contents


OOP School Library

"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.


🛠 Built With

Tech Stack

Ruby

Key Features

  • Ruby
  • Linters
    • Rubocop
  • Apply SOLID principles
  • Data persistent in JSON files
  • Follow Microverse's list of best practices

(back to top)


💻 Getting Started

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

Prerequisites

In order to run this project you need:

  • A code editor (we recommend Visual Studio Code)

  • Git and a GitHub account

Setup

Clone this repository to your desired folder by using this 👇️ command :

git clone https://github.com/NitBravoA92/oop-school-library.git

Install

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.

Download and Install Ruby

Usage

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.

Run tests

  • Not aplicable.

(back to top)


👥 Authors

👤 Nitcelis Bravo

👤 Ahmed Eid

(back to top)


🔭 Future Features

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

(back to top)


🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)


⭐️ Show your support

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!

(back to top)


🙏 Acknowledgments

I thank Microverse for this fantastic opportunity, and the code reviewers for their advice and time.

(back to top)


📝 License

This project is MIT licensed.

(back to top)


oop-school-library's People

Contributors

ahmedeid6842 avatar nitbravoa92 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.