Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/metsanpeitto/capstone-4_ruby


https://github.com/metsanpeitto/capstone-4_ruby

Last synced: 2 days ago
JSON representation

Awesome Lists containing this project

README

        

# capstone-4_ruby

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

"Ruby Capstone" is the final group project of the Microverse curriculum.It consists of a SQL data base and a ruby application.
In this project, we created a console app that help us to keep a record of different types of things we won: books, music albums, movies, and games.
Everything is based on the UML class diagram presented below. The data is stored in JSON files there is also prepared a database with tables structure analogical to the program's class structure.

## Introduction video
[Introduction video](https://drive.google.com/file/d/1yxTAqDtWYDM3Qbl1bmdOX20YGp79NP4a/view?usp=sharing)

## The learning objectives of this project are
- Insert and query data in SQL.
- Use primary key & foreign key mechanisms for joining tables.
- Understand the different types of relationships between tables.
- Query multiple tables.
- Prepare complex queries that answer analytical questions.
- Run a program using the command line.
- Use Ruby syntax for basic programming operations.
- Apply Ruby best practices and language style guides in code.
- Describe the SOLID principles of OOP.
- Implement classes and objects in Ruby.
- Understand the four main principles of OOP.
- Implement encapsulation and inheritance with Ruby.
- Create a UML class diagram.
- Explain the difference between associations, aggregations, and composition in OOP.
- Set up associations between classes and objects.
- Store data in files.
- Build interactive console apps.
- Recognize the value of making equal contributions to group projects to produce the best outcome.

It is written in ruby and is part of the tasks of the Microverse curriculum.

=======

## Built With

- Ruby
- Rubocop

=======

### Prerequisites

To run this project you must to have ruby installed in your machine. If you don't have it
follow the instructions [here](https://www.ruby-lang.org/en/documentation/installation/)

## Getting Started

If you want a copy of this file go to the github repository and download it from there

- [`git clone https://github.com/Metsanpeitto/capstone-4_ruby`](https://github.com/Metsanpeitto/capstone-4_ruby)

### Setup

```cmd
git clone https://github.com/Metsanpeitto/capstone-4_ruby.git
cd ./capstone-4_ruby
```

### Usage

```cmd
ruby main.rb
```

### Verify rubocop

```
- rubocop -A
```

### Instruction for non technical persons

If you are non a technical person you can download the zip file.

- To do that you have to go to the green button that says 'Code' and then press on it.
- Choose the option 'Download Zip' and wait until it download.
- Then you need to decompress it.
- You will need to have Zip compress file software installed in your computer. If you don't have it you can download it from here
[`https://www.7-zip.org/download.html`](https://www.7-zip.org/download.html)
- Do double click on the Capstone-1.zip and choose a folder where to place all teh decompressed files.
- Once you are done decompressing, you can open the created folder.
- In it you can double click on the index.html file and choose a browser to open it (For example google Chrome Browser).
- Now you should be able to see the project.
- Remember to use the mouse to navigate through the website. Also you can use the keys 'arrow up' and 'arrow down' of your keyboard
to scroll up and down.

=======

## Author

👤 **Abraham Rodriguez**

- GitHub: [@metsanpeitto](https://github.com/Metsanpeitto)
- Twitter: [@metsanpeitto](https://twitter.com/home)
- LinkedIn: [Abraham Rodriguez](https://www.linkedin.com/in/abraham-rodriguez-3283a319a/)
- Portfolio: [Waldenberg](https://portfolio.waldenberginc.com)

👤 **Aganze Mataba Henri**

- GitHub: [@hiromataba](https://github.com/hiromataba)
- Twitter: [@hiromataba](https://twitter.com/MatabaHiro)
- LinkedIn: [@hiromataba](https://www.linkedin.com/in/aganzemataba/)

👤 **Polina Stamenova**

- GitHub: [@githubhandle](https://github.com/PolinaStamenova)
- LinkedIn: [LinkedIn](https://www.linkedin.com/in/polina-stamenova-a60766112/)

=======

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

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

=======

## Show your support

Give a ⭐️ if you like this project!

=======

## Acknowledgments

- Microverse for giving me this chance
- The amazing code reviewers for making me improve every day :thumbsup:

=======

[![License: CC BY-NC 4.0](https://licensebuttons.net/l/by-nc/4.0/80x15.png)](https://creativecommons.org/licenses/by-nc/4.0/)
[![License: CC0-1.0](https://licensebuttons.net/l/zero/1.0/80x15.png)](http://creativecommons.org/publicdomain/zero/1.0/)