Skip to content

Latest commit

Β 

History

History
144 lines (90 loc) Β· 5.56 KB

README.md

File metadata and controls

144 lines (90 loc) Β· 5.56 KB

Rails Room Booking

Rails Room Booking

ruby Rubocop Status MIT license

Open-source solution for hotel and vacation rental management, offering online reservation processes, and secure online payment transactions.

Screenshot


Features βœ…

  • Sign up / Log in: Simply create an account or log in to access the platform.

  • Management of your homes 🏘️: Effortlessly handle your property portfolio, including adding, editing, and managing various details such as property descriptions, options, and pricing.

  • Online booking: Enable your customers to easily make reservations for your accommodations directly through the platform, streamlining the booking process for a seamless user experience.

  • Account settings: Management of your preferences (VAT rates, etc.)

  • Online payment via Stripe πŸ’³: Facilitate secure online payments by integrating with Stripe, a trusted payment gateway, allowing your users to make payments conveniently and securely.

  • Webhook Integration with Integromat (Make) πŸ€–: Connect your booking system with Integromat to initiate automated workflows, such as sending booking notifications, updating external databases, or integrating with other applications for further automation and data handling.

Upcoming features πŸš€

  • Synchronization of availability with Airbnb: Automatically synchronize the availability of your accommodations with Airbnb, ensuring consistent and up-to-date availability across platforms, saving you time and effort in managing multiple calendars.

Dependencies

This project has been developed using the following key dependencies:

  • Ruby: Version 2.7.5
  • Rails: Version 7.0.4
  • Bootstrap: Version 5.1
  • Rspec
  • Rubocop
  • Sass
  • Payify
  • Integromat
  • Stripe

Online payment

To use online payment for bookings, you need to have a Stripe account.

You can set your Stripe API credentials and define currency using environment variables. (Secret key, Publishable key)

# .env
STRIPE_API_KEY="..."
STRIPE_PUBLISHABLE_KEY="..."

Screenshot

Integromat Webhook (Make)

Integromat is a powerful automation platform that allows you to connect various apps and services, enabling you to automate workflows and streamline your business processes. By integrating Integromat with your booking system, you can enhance the functionality and efficiency of your booking process.

To set up the Integromat integration and receive a webhook for each reservation made, follow these steps:

  1. Sign up for an account on Integromat if you don't have one already.

  2. Create a new scenario in Integromat to define the actions you want to perform when a booking is made.

  3. In your Rails project, add the following environment variables to your configuration:

    INTEGROMAT_BASE_URI="https://hook.eu2.make.com"
    INTEGROMAT_BOOKING_HOOK="odsdispsdsbseb1hrjqe56jqm35snc"

    Replace the values above with your own Integromat base URI and booking hook.

  4. Whenever a booking is made in your booking system, a webhook will be triggered and sent to the specified Integromat hook. You can then use this webhook to automate processes in your Integromat scenario, such as sending notifications, updating external systems, or performing any custom actions you require.

Booking System hook with Make

Translations

By default two languages are available, a language selector in the footer allows you to change the interface language.

  • French πŸ‡«πŸ‡·
  • English πŸ‡ΊπŸ‡Έ

Installation

To launch the application, follow these steps:

  1. Run bundle install
  2. Run rails db:create
  3. Run rails db:migrate
  4. Run rails db:seed
  5. Run rails s

Then, open your browser and navigate to http://localhost:3000 to access the application.

Running with Docker

If you prefer to run the project using Docker, follow these steps:

  1. Make sure you have Docker and docker-compose installed on your system. You can download and install Docker from the official website: https://www.docker.com/get-started

  2. Set the host of you environment file to db:

# .env
DB_HOST=db
  1. Build the Docker container by running the following command in the project's root directory:
docker-compose build
  1. Once the build is complete, start the Docker container using the following command:
docker-compose up
  1. Docker will start building and running the container based on the configuration provided in the docker-compose.yml file.

After the container is up and running, you need to set up the application's database. In a separate terminal, run the following commands:

docker-compose run app rails db:create
docker-compose run app rails db:migrate
docker-compose run app rails db:seed
  1. Finally, the Rails server should be running inside the Docker container. You can access the application by opening your browser and navigating to http://localhost:3000.

Tests

To run the tests, execute rspec command.