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
- 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
- Fork and Clone the repo
- Install gem packages:
$ bundle install
- Setup the database:
$ rails db:{drop,create,migrate}
- 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.
- From the command line, run the following:
$ bundle exec figaro install
- Navigate to /config/application.yml
- 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'
- Once your api-keys have been set, navigate to
spec/fixtures
and delete thevcr_cassettes
directory. This directory will autmoatically repopulate with the next step. - Run
$ bundle exec rspec
to run the full test suite. - Open a server with
$ rails s
Click here for a visual representation of the endpoints and their potential response payloads.
- Ruby 2.7.2
- Rails 5.2.5
- Ruby
- OOP
- TDD
- MVC
- REST