Code Monkey home page Code Monkey logo

jasmine_dragon_api's Introduction

"So I was thinking about names for my new tea shop… how about… the Jasmine Dragon? It’s dramatic, poetic… has a nice ring to it." --Uncle Iroh, "Avatar: The Last Airbender"

languages PRs rspec simplecov All Contributors

Table of contents

Overview

A REST API webservice built to facilitate subscriptions to a tea-delivery service. Tea information is provided to the mock-front end via consumption of an external API found here

This project is a technical challenge presented by the Turing School of Software and Design. Original specs and requirements may be found here

Challenge Specs

At a minimum, the following functionality must be built:

  • An endpoint to subscribe a customer to a tea subscription
  • An endpoint to cancel a customer’s tea subscription
  • An endpoint to see all of a customer’s subsciptions (active and cancelled)

Additional Endpoints Created:

  • GET All teas.
  • GET A single tea.
  • PATCH Update a users' subscription frequency or status.
  • DELETE Delete a subscription.

Additional Functionality implimented:

  • Consumed external API for tea data, seralized and exposed two endpoints for said data.
  • Created dynamic pricing for subscriptions based on frequency.
  • Prepped to handle User data storage via Bcrypt encryption.

DB Schema

image

API Docs

Click here to see the documentation related to this API, including example request and response payloads.

Setup

  1. Fork and Clone the repo
  2. Install gem packages: $ bundle install
  3. Setup the database: $ rails db:{drop,create,migrate,seed}
  4. Run $ bundle exec rspec to run the full test suite. note If there is an error when running the test suite related to VCR Cassettes, navigate to the spec directory and delete the fixtures directory found within. This should alleviate any issues related to the VCR API mock-calls.
  5. Open a server with $ rails s

Technologies

Versions

  • Ruby 2.7.2
  • Rails 5.2.5

Development tools employed

Languages

  • Ruby

Testing tools

Development Principles

  • OOP
  • TDD
  • MVC
  • REST

Contributors

jasmine_dragon_api's People

Contributors

emielke76 avatar

Watchers

 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.