Skip to content

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.

Notifications You must be signed in to change notification settings

Yothu/reservify-back-end

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Reservify app

Rails Postgres Bootstrap React Redux

License: MIT rails version ruby version

Table of Contents


Api Documentation

You can review the documentation for the API here.


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 section

Clone Repo

First clone this repo by running this command in your terminal:

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 from the official Rails Guide 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:

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:

bundle install

The full list of dependencies can be found within the Gemfile.

This also installs PostgreSQL, which you'll need for the next step.


Database Initialization

To initialize the database we just created, now run:

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

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, all thanks to the ruby magic called naming conventions. Anyway, to run tests located in the spec folder run:

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

Visit linters folder to learn how to setup linters.

Then check linters locally before pushing by running:

npx stylelint "**/*.{css,scss}"
# ...
# ...
rubocop --color -A

Finally, once your changes have no linter errors and all tests are passing, try to merge your branch into development by running:

git checkout development
git merge <branchname>

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 <branchname>


That's all folks!

Kanban board

Here is the Kanban board of the project!

Here is the issue that contains the images of the initial state of the Kanban board

Final number of team members: 5

Collaborators

πŸ‘€ Eduardo

Platform Badge
GitHub @eduardosancho
Twitter @sanchitobless
LinkedIn Eduardo Sancho Solano

πŸ‘€ Fernando Herrera

Platform Badge
GitHub @fherrerao
Twitter Fernando Herrera
LinkedIn Fernando Herrera

πŸ‘€ Kyrillos Hany

Platform Badge
GitHub @Bondok6
Twitter Kyrillos Hany
LinkedIn LinkedIn

πŸ‘€ David Vergaray

Platform Badge
GitHub @Yothu
LinkedIn David Vergaray

πŸ‘€ Anibal Amoroso

Platform Badge
GitHub @githubhandle
LinkedIn LinkedIn

Show your support

Give a ⭐️ if you like this project!


Acknowledgments

Original design Vespa by Murat Korkmaz on Behance

The ideas and inspiration from this project are coming from this online school of software development:


πŸ“ License

This project is MIT licensed.

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published