Skip to content

Back-end app for Ruby Resorts web page. Provides an API to handle rooms, users, and bookings. Built with Ruby on Rails and using JWT for authentication.

License

Notifications You must be signed in to change notification settings

anthonymr/ruby-resorts-backend

Repository files navigation

logo

Ruby Resorts Back end

📗 Table of Contents

📖 Ruby Resorts BE

Ruby Resorts Back End is the Back End project for Ruby Resorts Final Capstone Project. The back end is developed using Rails and PostgreSQL. We used JWT tokens for authentication between front and back ends. A JWT token will be generated every time a user logs in. A regular user can signup, then log in with a username and password. The user can get a list of Suites, can get details of each suite, will be able to reserve a suite, and can access their past reservations. An admin user will be able to create a new suite and delete an existing suite.

Front end

The front end part of the project can be found in this repo: Frontend repository

Team members

We are a team of four members for this project.

  • Anthony Martin
  • Ghulam Subbhani
  • Raphael Okolo
  • Ram Kumar Karuppusamy

Application's admin credentials for evaluation

username : admin
password : admin123

API Documentation

Here you can find the Project API documentation

API Design

Here you can find the API initial design: API design

ERD Diagram

logo

Kanban Boards

Please find the Kanban boards in below links:

Front End
Back End

ERD diagram


ERD diagram


(back to top)

## 🛠 Built With

Tech Stack

Key Features

  • Authentication API
  • User management API
  • Room reservation API

(back to top)

🚀 Live Demo

  • Live demo is hosted in Render

(back to top)

💻 Getting Started

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

Prerequisites

In order to run this project you need the following installed in your local machine:

  • Ruby
  • Rails
  • PostgreSQL
  • Github Account

Setup

Clone this repository to your desired folder:

  cd <desired-folder>
  git clone https://github.com/anthonymr/ruby-resorts-backend
  cd ruby-resorts-backend

Install

Install this project with:

  bundle install

The above command installs necessary gems used in the project

Make sure you have the right PosgreSQL configuration in the database config file

Create database with this commmand:

  rails db:create

Seed your database with this command (see seed file):

  rails db:seed

Usage

To run the project, execute the following command:

  rails s

The above command starts the rails server.

Run tests

To run tests, run the following command:

  rspec spec

we have added Rspec test cases for all models and API endpoints in the project.

Deployment

You can run server production mode with this command:

  RAILS_ENV=production rails s

(back to top)

👥 Authors

👤 Anthony Martin

👤 Raphael Okolo

(back to top)

🔭 Future Features

  • Allow admin user to add new hotels and cities
  • Allow users to cancel reservations

(back to top)

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Please log any bugs or issues in issues page.

(back to top)

⭐️ Show your support

If you like this project, please give a Star to the github repo

(back to top)

🙏 Acknowledgments

We would like to thank Murat Korkmaz on Behance for the design.

(back to top)

📝 License

This project is MIT licensed.

(back to top)

About

Back-end app for Ruby Resorts web page. Provides an API to handle rooms, users, and bookings. Built with Ruby on Rails and using JWT for authentication.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published