https://github.com/yothu/reservify-back-end
Web application where users should sign in once you are in you can choose a hotel from a list then reserve, cancel and see your room reservation.
https://github.com/yothu/reservify-back-end
api-documentation api-rest backend-api hotel-reservation ruby-on-rails
Last synced: about 1 year ago
JSON representation
Web application where users should sign in once you are in you can choose a hotel from a list then reserve, cancel and see your room reservation.
- Host: GitHub
- URL: https://github.com/yothu/reservify-back-end
- Owner: Yothu
- Created: 2022-06-01T19:14:55.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-06-16T16:47:59.000Z (almost 4 years ago)
- Last Synced: 2025-04-23T21:09:23.035Z (about 1 year ago)
- Topics: api-documentation, api-rest, backend-api, hotel-reservation, ruby-on-rails
- Language: Ruby
- Homepage: https://reservify.netlify.app/
- Size: 180 KB
- Stars: 9
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README






# Reservify app





[](./MIT.md)


## Table of Contents
- [Reservify app](#reservify-app)
- [Table of Contents](#table-of-contents)
- [Api Documentation](#api-documentation)
- [Description](#description)
- [Built With](#built-with)
- [Getting Started](#getting-started)
- [Clone Repo](#clone-repo)
- [Prerequisites](#prerequisites)
- [Install Rails](#install-rails)
- [Setup](#setup)
- [System Dependencies](#system-dependencies)
- [Database Initialization](#database-initialization)
- [Usage](#usage)
- [Start Server](#start-server)
- [Testing RSpec](#testing-rspec)
- [How To Contribute?](#how-to-contribute)
- [That's all folks!](#thats-all-folks)
- [Kanban board](#kanban-board)
- [Collaborators](#collaborators)
- [Show your support](#show-your-support)
- [Acknowledgments](#acknowledgments)
- [**Microverse**](#microverse)
- [📝 License](#-license)
## Api Documentation
>You can review the documentation for the API [here](https://documenter.getpostman.com/view/13085631/Uz5MEZ6D#d4697ce8-cda6-4658-9891-aca869e0acc9).
## Description
> Web application where users should sign in once you are in you can choose a hotel from a list then reserve, cancel and see your room reservation.
## Built With
- Major languages: Ruby, HTML, Javascript, Bootstrap 5.
- Frameworks: Ruby on Rails, React&Redux.
- Tools & Methods: RSpec, PostgreSQL, JWT, Jest, Sass, Linters.
## Getting Started
We'll need to prepare your computer to handle Ruby on Rails, which might be a hassle, so take a deep breath and cope with me :)
If you have Rails 7 installed, you can skip to the [Setup](#setup) section
## Clone Repo
First clone this repo by running this command in your terminal:
~~~ bash
git clone https://github.com/Yothu/reservify-back-end.git
# wait a couple seconds for it to download
# ...
# ...
# then move into the new directory
cd reservify-back-end
~~~
## Prerequisites
The following technologies must be installed before hand in your local machine:
- Ruby (ruby --version). Should be 3.0.1 or newer.
- Postgres ('pg', '~> 1.1')
- Node.js (node --version)
The commands in parenthesis `()` can be used to verify if they are installed and their corresponding versions.
Refer to [Section 3](https://guides.rubyonrails.org/v5.1/getting_started.html#:~:text=3%20Creating%20a%20New%20Rails%20Project) from the official [Rails Guide](https://rubyonrails.org/) for more detailed instructions on how to install these technologies.
### Install Rails
Once that's done, we can install Rails. For that, run these commands in your terminal:
~~~ bash
gem install rails
# wait a few seconds for it to download
# ...
# ...
# verify that it was installed by running
rails --version
~~~
## Setup
We're getting there... trust me ;)
## System Dependencies
Execute this command to automatically install all the dependencies needed to view and work on this project:
~~~ bash
bundle install
~~~
The full list of dependencies can be found within the [Gemfile](Gemfile).
This also installs PostgreSQL, which you'll need for the next step.
## Database Initialization
To initialize the database we just created, now run:
~~~ bash
rails db:setup
~~~
## Usage
If you got to this point, congratulations! You now have spent 2 hours in order to toy with my app. I appreciate your effort :P
## Start Server
The following command should start a server
~~~ bash
rails server
~~~
Which you can visit by going to http://localhost:3000 in your browser.
## Testing RSpec
RSpec tests belong in another folder, which is [/spec](/spec/), all thanks to the ruby **magic** called `naming conventions`.
Anyway, to run tests located in the spec folder run:
~~~ bash
bundle exec rspec spec
~~~
## How To Contribute?
Always remember to commit your contributions on a different branch. You can create a new one by running `git checkout -b `.
Visit [linters folder](.github/workflows/linters.yml) to learn how to setup linters.
Then check linters locally before pushing by running:
~~~ bash
npx stylelint "**/*.{css,scss}"
# ...
# ...
rubocop --color -A
~~~
Finally, once your changes have no linter errors and all [tests](#testing-rails) are passing, try to merge your branch into `development` by running:
~~~ bash
git checkout development
git merge
~~~
Continue by solving any merge conflicts that may arise, test the functionality of the app once more, and you're changes are ready to be pushed with `git push origin `
### That's all folks!
# Kanban board
Here is the [Kanban board](https://github.com/Yothu/reservify-front-end/projects/1) of the project!
Here is the [issue](https://github.com/Yothu/reservify-front-end/issues/14) that contains the images of the initial state of the **Kanban board**
Final number of team members: 5
## Collaborators
👤 **Eduardo**
Platform | Badge |
--- | --- |
**GitHub** | [@eduardosancho](https://github.com/eduardosancho)
**Twitter** | [@sanchitobless](https://twitter.com/sanchitobless)
**LinkedIn** | [Eduardo Sancho Solano](https://www.linkedin.com/in/eduardo-sancho-solano/)
👤 **Fernando Herrera**
Platform | Badge |
--- | --- |
**GitHub** | [@fherrerao](https://github.com/fherrerao)
**Twitter** | [Fernando Herrera](https://www.linkedin.com/in/fherrerao/)
**LinkedIn** | [Fernando Herrera](https://twitter.com/fherrera0206)
👤 **Kyrillos Hany**
Platform | Badge |
--- | --- |
**GitHub** | [@Bondok6](https://github.com/Bondok6)
**Twitter** | [Kyrillos Hany](https://twitter.com/kyrilloshany99)
**LinkedIn** | [LinkedIn](https://www.linkedin.com/in/kyrillos-hany/)
👤 **David Vergaray**
Platform | Badge |
--- | --- |
**GitHub** | [@Yothu](https://github.com/Yothu)
**LinkedIn** | [David Vergaray](https://www.linkedin.com/in/david-vergaray-almontes-051a11127/)
👤 **Anibal Amoroso**
Platform | Badge |
--- | --- |
**GitHub** | [@githubhandle](https://github.com/sj1978)
**LinkedIn** | [LinkedIn](https://linkedin.com/in/anibalamoroso)
## Show your support
Give a ⭐️ if you like this project!
## Acknowledgments
Original design [Vespa](https://www.behance.net/gallery/26425031/Vespa-Responsive-Redesign/modules/173005583) by [Murat Korkmaz](https://www.behance.net/muratk) on [Behance](https://www.behance.net/)
The ideas and inspiration from this project are coming from this online school of software development:
## [**Microverse**](https://www.microverse.org/)
## 📝 License
This project is [MIT](./MIT.md) licensed.