Coder Social home page Coder Social logo

travel_buddy_be's Introduction

ezgif com-gif-maker (3)

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

travel_buddy_be's People

Contributors

matttoensing avatar chsweet avatar matt-kragen avatar antoniojking avatar elliotolbright avatar abbottmichael avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.