Open-source solution for hotel and vacation rental management, offering online reservation processes, and secure online payment transactions.
-
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.
- 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.
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
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="..."
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:
-
Sign up for an account on Integromat if you don't have one already.
-
Create a new scenario in Integromat to define the actions you want to perform when a booking is made.
-
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.
-
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.
By default two languages are available, a language selector in the footer allows you to change the interface language.
- French ๐ซ๐ท
- English ๐บ๐ธ
To launch the application, follow these steps:
- Run
bundle install
- Run
rails db:create
- Run
rails db:migrate
- Run
rails db:seed
- Run
rails s
Then, open your browser and navigate to http://localhost:3000 to access the application.
If you prefer to run the project using Docker, follow these steps:
-
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
-
Set the host of you environment file to
db
:
# .env
DB_HOST=db
- Build the Docker container by running the following command in the project's root directory:
docker-compose build
- Once the build is complete, start the Docker container using the following command:
docker-compose up
- 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
- 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.
To run the tests, execute rspec
command.