"Vacations booking back-end" project is a Rails API application which provide the API endpoints for creating/removing different destinations by admin users and creating reservations by other logged users. We were using Swagger to create API documentation. You can check it here - API documentation.
Kanban boad setup screenshoot:
The final member number of this project is: 5!
- Ruby on Rails
- Postgres
- Rspec
- Swagger
To get a local copy up and run the app, follow these simple example steps.
- Ruby > 2.7.3
- Rails > 6.1.4.1
- Postgres > 14.0
Clone the repository with:
git clone git@github.com:mugberto/vacations-booking-back-end.git
or download ZIP file
To install all dependencies, run:
bundle install
Create database and seed the data
rails db:create
rails db:migrate
rails db:seed
To run the server, in the project directory, run:
rails s
If you are using the app localy
{defaultHost} = http://localhost:3000
If you are using deployed app
{defaultHost} = https://booking-vacations.herokuapp.com
- Create a new user:
POST
{defaultHost}/api/v1/users
- Authenticates the user:
POST
{defaultHost}/api/v1/users/sign_in
- Creates a new destination:
POST
{defaultHost}/api/v1/destinations
- Retreives destinations:
GET
{defaultHost}/api/v1/destinations
- Removes destination:
DELETE
{defaultHost}/api/v1/destinations/{id}
- Creates a new reservation:
POST
{defaultHost}/api/v1/reservations
- Retreives reservations:
GET
{defaultHost}/api/v1/reservations
- Removes a reservation:
DELETE
{defaultHost}/api/v1/reservations/{id}
To test endpoins please run:
rails rswag
To test the models please run:
rspec --exclude-pattern "spec/{requests}/**/*_spec.rb"
If you prefere do testings in graphic environment, in your browser open
{defaultHost}/api-docs/index.html
and follow the instructions in the API documentation.
This app should run together with vacations-booking-front-end application. Open the vacations-booking-front-end repo and install it localy to complete the full-stack application.
π€ Aleksandar Ivezic
- GitHub: @Aleksandar Ivezic
- Twitter: @AIvezic
- LinkedIn: Aleksandar Ivezic
π€ Vo Thi Quynh Yen
- GitHub: @themonster2015
- LinkedIn: LinkedIn
π€ Hubert MUGABO
π€ Igor Koloski
- GitHub: @igorkol91
- Twitter: [@Destro49536502]
- LinkedIn: LinkedIn
π€ Daniel Maina
-
GitHub: @danmainah
-
Twitter: @Danmainah
-
LinkedIn: @Daniel-Maina
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
Give a βοΈ if you like this project!
- This project was inspired by Microverse
This project is MIT licensed.