antoniojking / travel_buddy_be

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

untitled.png

Travel Buddy -(back end)

Deployed to Heroku

Contributors Issues Stargazers Forks

Welcome to Travel Buddy

  • The frustrating part about planning a trip with friends is keeping track of all the details. Wouldn’t it be easier if all the details were in one place for all to see? Travel Buddies makes it easy to organize a trip while keeping everyone involved on the same page.

Table of Contents

README


Overview

Travel Buddy is a 10 day, 6 person project. The idea was to build a web application that allows users to connect and plan trips to national parks.

  • Apply principles of flow control across multiple methods
  • Design a one to many relationship using an API backend application
  • Design a many to many relationship using an API backend application
  • Design self referential relationship using an API backend application
  • Write migrations to create tables with columns of varying data types and foreign keys.
  • Use Rails to create web pages that allow users to CRUD resources
  • Use Rails to allow users to connect with other users
  • Create instance and class methods on a Rails model
  • Write model and feature tests that fully cover data logic and potential user behavior

Tools Used

Development Testing Gems
Ruby 2.7.2 RSpec Pry
Rails 5.2.5 WebMock ShouldaMatchers
PostgresSQL VCR Capybara
Postico Launchy Figaro
Atom SimpleCov Faraday
Github Capybara
FactoryBot

Getting Started

The base path of each endpoint is:

https://travel-buddy-api.herokuapp.com/api/v1

Endpoints

The following table presents each API endpoint and its documentation.

Endpoint Docs/Example
Get One User GET /api/v1/users/{user_id}
Find or Create User GET /api/v1/users/{user_id}
Get User Friendships GET /api/v1/users/{user_id}/friendships
Create User Friendship POST /api/v1/users/{user_id}/friendships
Get One Trip GET /api/v1/trips/{trip_id}
Create Trip POST /api/v1/trips
Update Trip PATCH /api/v1/trips/{trip_id}
Get Trips Accommodations GET /api/v1/trips/{trip_id}/accommodations
Get single Trip Accommodation GET /api/v1/trips/{trip_id}/accommodations/{accommodation_id}
Create Trip Accommodation POST /api/v1/trips/{trip_id}/accommodations
Update Trip Accommodation PATCH /api/v1/trips/{trip_id}/accommodations/{accommodation_id}
Delete Trip Accommodation DELETE /api/v1/trips/{trip_id}/accommodations/{accommodation_id}
Get Trips Travel Buddies GET /api/v1/trips/{trip_id}/travel_buddies
Create Trip Travel Buddy POST /api/v1/trips/{trip_id}/travel_buddies
Get Trip Checklists GET /api/v1/trips/{trip_id}/checklists
Get single Trip Checklist GET /api/v1/trips/{trip_id}/checklists/{checklist_id}
Create Trip Checklist POST /api/v1/trips/{trip_id}/checklists
Get Trip Checklist Items GET /api/v1/trips/{trip_id}/checklists/{checklist_id}/checklist_items
Create Trip Checklist Item POST /api/v1/trips/{trip_id}/checklists/{checklist_id}/checklist_items
Update Trip Checklist Item PATCH /api/v1/trips/{trip_id}/checklists/{checklist_id}/checklist_items/{checklist_item_id}
Delete Trip Checklist Item DELETE /api/v1/trips/{trip_id}/checklists/{checklist_id}/checklist_items/{checklist_item_id}
Get NPs by State GET /api/v1/parks?state='WY'
Get NPs by Activity GET /api/v1/parks?activity='Fishing'
Get NP by Park Code GET /api/v1/parks/{park_code}
Get Weather GET /api/v1/weather

Database Schema

Screen Shot 2021-09-19 at 10 57 04 AM

Contributors

👤 Antonio King

👤 Elliot Olbright

👤 Carina Sweet

👤 Michael Abbott

👤 Matt Kragen

👤 Matt Toensing

About


Languages

Language:Ruby 99.8%Language:HTML 0.2%