angeluray / hotel-booking-backend

Hotelator is a SPA built with with Ruby on Rails, PostgreSQL, and React/Redux following a TDD. Allows users to Sign in/up, make hotel reservations, check for them, decline them or add/delete hotel packages. All these actions made by JWT authentication in order to retrieve the specific data for each user.

Home Page:https://inspiring-kashata-9d9dfc.netlify.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ“— Table of Contents

πŸ“– Hotelator - Booking app

Hotelator is a web service built with React & Redux, PostgreSQL and Ruby on Rails that allows users to Sign in/up, reserve hotel packages, check for the reservations the have made, create hotels based on cities, store images, delete hotels or just cancel reservations. All users actions/request are made by using JWT authentication in order to have the permissions to retrieve the required data per user.

Client-side repository Hotel-Booking-Frontend

πŸ›  Built With

  • Ruby on Rails
  • Ruby
  • Bubocop
  • Gems
    • Rspec
    • Capybara
    • Selenium-webdriver
    • Bcrypt
    • JWT
    • Devise

Tech Stack

Client
  • React
  • Redux
  • Tailwind
  • CSS3
Server
  • Ruby on Rails
Database

Key Features

  • [Create and run necessary migration files]
  • [Match table and column names to the ERD diagram.]

(back to top)

πŸ“‡ Entity Relationship Diagram

The end result should follow the following data model (this is an Entity Relationship Diagram that you are already familiar with):

image

πŸš€ Live Demos and Importand links

Note this is for information purpose, however if you go to this link you wont be able to see a content, since it is API only(It will retrieve json responses)

(back to top)

Visual representation

image_2023-01-19_19-00-48 image_2023-01-19_19-01-17 image_2023-01-19_19-01-39 image_2023-01-19_19-02-40 image_2023-01-19_19-03-41 image_2023-01-19_19-04-03 image_2023-01-19_19-06-00

Roadmap

  • Set up the repository/repositories on GitHub and use Gitflow.
  • Set up Postgres for the database
  • Create controllers, endpoints and models
  • Use Rails to create API.
  • Use React & Redux to create frontend UI.
  • Create README

πŸ’» Getting Started

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

Frontend repository

  • Run the command bellow first in your terminal in a different folder and open the file using cd if needed.

git clone https://github.com/angeluray/hotel-booking-frontend.git

Prerequisites

In order to run this project you need: Git and Ruby

 gem install rails

Install

Install this project with:

Run the command bellow first and open the file using cd if needed.

git clone git@github.com:angeluray/hotel-booking-backend.git

  bundle install

Create and migrate the database

 rails db:create
 rails db:migrate
 rails db:seed

Usage

To run the project, execute the following command:

  rails server or rails s

(back to top)

πŸ‘₯ Authors

πŸ‘€ Tadesse Jemal

πŸ‘€ Angel uray

πŸ‘€ * Kumilachew Getie*

(back to top)

πŸ”­ Future Features

  • [Controllers, and Models specs]
  • [Improve overrall style and perfomance of the application]
  • [Admin role to allow only admins to Add hotels]

(back to top)

🀝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

⭐️ Show your support

Give a ⭐️ if you like this project!

(back to top)

πŸ™ Acknowledgments

  • We want to say thank you to Murat Korkmaz on Behance the creator of this beautiful design that we used as a guide to build our project.

(back to top)

❓ FAQ

  • Can i use this project as mine?

    • This project is for educational purposes and it belongs to its creators, however you can clone it and use it a guide for creating yours as part of an educational project.
  • This project is availabe to do actual reservations?

    • No, however it works almost the same, and you could use it in the future for creating your own app.

(back to top)

πŸ“ License

This project is MIT licensed.

(back to top)

About

Hotelator is a SPA built with with Ruby on Rails, PostgreSQL, and React/Redux following a TDD. Allows users to Sign in/up, make hotel reservations, check for them, decline them or add/delete hotel packages. All these actions made by JWT authentication in order to retrieve the specific data for each user.

https://inspiring-kashata-9d9dfc.netlify.app/

License:MIT License


Languages

Language:Ruby 94.2%Language:Batchfile 5.2%Language:HTML 0.4%Language:Shell 0.2%