/book_appointment_backend

Welcome to the Hotel Room Booking System, a full-stack web application that simplifies the process of reserving rooms in hotels. This project is built using Ruby on Rails for the backend and React for the frontend, providing a seamless and user-friendly experience.

Primary LanguageRuby

📗 Table of Contents

📖 Pinecone Place

logo

Pinecone Place is a luxury room booking application where the user can register new accounts, login and reserve appointsments for booking rooms. It is built and connected by using two different apps both in different repos.One repo take care of the back-end side of the application built with Ruby on Rails and PostgreSQL. The second repo takes care of the front-end which was built with JavaScript React-Redux.

Home page image

Kanban Board 🖧

Screenshot 2023-04-07 124818

API Documentation

🛠 Built With

Tech Stack

Client
Server
  • Rails
Database

Key Features

  • [Rooms List endpoint]
  • [Devise authentication to access Reservations]
  • [Authenticated Users can add/mark as removed a room]
  • [Authenticated Users can reserve/remove a room]

API Documentation

(back to top)

React Frontend

🚀 Live Demo

(back to top)

💻 Getting Started

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

Prerequisites

To run this project you need: Git and Ruby

 gem install rails

Install

Install this project with:

  bundle install
  • Generate a secret key using rails secret
  • Create a .env file with the following content:
POSTGRES_USER=postgres
# If you declared a password when creating the database:
POSTGRES_PASSWORD=YourPassword
POSTGRES_HOST=localhost
POSTGRES_DB=Hello_Rails_Backend_development
POSTGRES_TEST_DB=Hello_Rails_Backend_test
# Devise secret key
DEVISE_JWT_SECRET_KEY=Secret Key you generated

Create a Database (Mandatory)

rails db:create

If you have made a migration then run this command

rails db:migrate
rails db:seed

Usage

To run the project, execute the following command:

   rails s -p 3000 # # for serving the API on localhost:3000

Run tests

bundle exec rspec

(back to top)

👥 Authors (5 Micronauts)

👤 Jorge

👤 Abdullateef Bello

👤 Htetaungkyaw

👤 Petro Loltolo Lesapiti

👤 Fuad Nabiyev

(back to top)

🔭 Future Features

  • [Admin Roles and access to add new rental rooms]
  • [Keep count of the rooms using addtional attribute]

(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

I would like to thank:

(back to top)

❓ FAQ

  • How I can install rails?

    • You can follow the official guide to install rails. If you have gem installed, you can run gem install rails to install rails.
  • How I can run this project?

    • After cloning the repository, run bundle and then run rails s with option argument -p 3001. This will run the server on localhost:3001. You can change the port number if you want. Then you can use any API client to test the endpoints. For example, you can use Postman or Insomnia. You can also use the API Documentation to test the endpoints.
  • How I can run tests?

    • After cloning the repository, run bundle and then run rspec to run the tests.

(back to top)

📝 License

This project is MIT licensed.

(back to top)