Skip to content

EMielke76/sweater-weather

Repository files navigation

languages PRs rspec simplecov All Contributors

Table of contents

Overview

A Backend repository built to consume multiple external API's, aggregate the data, then expose API endpoints to meet the standards and expectations laid out by a ficticious Frontend development team. This reposity was constructed adhering to Service Oriented Architecture best practices.

This project is based off Turing's Sweater Weather project. More details can be found here

Learning Goals

  • Expose an API that aggregates data from multiple external APIs
  • Expose an API that requires an authentication token
  • Expose an API for CRUD functionality
  • Determine completion criteria based on the needs of other developers
  • Research, select, and consume an API based on your needs as a developer

DB Schema

image

Setup

  1. Fork and Clone the repo
  2. Install gem packages: $ bundle install
  3. Setup the database: $ rails db:{drop,create,migrate}

API Setup

  1. Sign up for API keys from the following: note One API key will suffice for both MapQuest endpoints. The links provided will take you to the respective documentation pages.
  • MapQuest Geocoding API here
  • MapQuest Directions API here
  • OpenWeather One Call API here
  • Pexels here
  1. From the command line, run the following: $ bundle exec figaro install
  2. Navigate to /config/application.yml
  3. Paste the following code and replace 'YOUR-API-KEY' with the respective credentials:
mapquest_id: 'YOUR-API-KEY'
weather_id: 'YOUR-API-KEY'
pexels: 'YOUR-API-KEY'
  1. Once your api-keys have been set, navigate to spec/fixtures and delete the vcr_cassettes directory. This directory will autmoatically repopulate with the next step.
  2. Run $ bundle exec rspec to run the full test suite.
  3. Open a server with $ rails s

Endpoints

Click here for a visual representation of the endpoints and their potential response payloads.

Technologies

Versions

  • Ruby 2.7.2
  • Rails 5.2.5

Development tools employed

Languages

  • Ruby

Testing tools

Development Principles

  • OOP
  • TDD
  • MVC
  • REST

Contributors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published