Giter VIP home page Giter VIP logo

ecommerceapi's Introduction

EcommerceAPI

Inspired by the shopify API as the ‘standard’ for API documentation.

-- CSCI 39537 (Intro to APIs) Final Project

Table of Contents

  1. Database
  2. About
  3. API_Calls

Database:

Schema:

Three Tables:

Discounts:

  • Name, DiscountPercent

Products:

  • Name, Price, ProductDiscounts

Reviews:

  • Title, Description, Rating, ReviewProductId



Database Script:

About

Three Tables:

Discounts ( DiscountId, DiscountName, DiscountDesc, DiscountPercent )

Products ( ProductId, ProductName, ProductDesc, ProductPrice, DiscountId )

Reviews( ReviewId, ReviewTitle, ReviewDesc, ReviewRating, ProductId )

EndPoints Table:

Discounts Table:

Products Table:

Reviews Table:

API_Calls

How to Call API Endpoints

1. Discount API Endpoints:

Sample Response Body:

if success: {

"statusCode": 200,
"statusDescription": "Success! DiscountS request was completed.",
"discounts": [
    {
        "discountId": 1,
        "discountName": "appleDiscount",
        "discountDesc": "No Discount Description Available",
        "discountPercent": 0.25
    },
    {
        "discountId": 2,
        "discountName": "dellDiscount",
        "discountDesc": "High Bargain BlackFriday Sale!",
        "discountPercent": 0.4
    }
],
"products": null,
"reviews": null,
"discount": null,
"product": null,
"review": null

}

...

if success: {

"statusCode": 200,
"statusDescription": "Success! Discount request was completed.",
"discounts": null,
"products": null,
"reviews": null,
"discount": {
    "discountId": 1,
    "discountName": "appleDiscount",
    "discountDesc": "No Discount Description Available",
    "discountPercent": 0.25
},
"product": null,
"review": null

}

if failed: {

"statusCode": 404,
"statusDescription": "Error! No DiscountS found matching given ID",
"discounts": null,
"products": null,
"reviews": null,
"discount": null,
"product": null,
"review": null

}

if success: {

"statusCode": 200,
"statusDescription": "Success! New Discount request completed.",
"discounts": null,
"products": null,
"reviews": null,
"discount": {
    "discountId": 5,
    "discountName": "test99",
    "discountDesc": "testingDescription for discount",
    "discountPercent": 0.5
},
"product": null,
"review": null

} if fail: {

"statusCode": 400,
"statusDescription": "Error! Incorrect Discount input",
"discounts": null,
"products": null,
"reviews": null,
"discount": null,
"product": null,
"review": null

}

if success: {

"statusCode": 204,
"statusDescription": "Content Successfully REMOVED at ID:4 with no response Body",
"discounts": null,
"products": null,
"reviews": null,
"discount": null,
"product": null,
"review": null

}

if fail: {

"statusCode": 404,
"statusDescription": "Error! No DiscountS found matching given ID",
"discounts": null,
"products": null,
"reviews": null,
"discount": null,
"product": null,
"review": null

}

2. Product API Endpoints:

Sample Response Body:

if success: {

"statusCode": 200,
"statusDescription": "Success! ProductS request was completed.",
"discounts": null,
"products": [
    {
        "productId": 1,
        "productName": "AppleComputer",
        "productDesc": "Computer from Apple Company",
        "productPrice": 800.25,
        "discount": null
    },
    {
        "productId": 2,
        "productName": "DellComputer",
        "productDesc": "Computer from Dell Company",
        "productPrice": 250.35,
        "discount": null
    }
],
"reviews": null,
"discount": null,
"product": null,
"review": null

} if failed (No ProductS): {

"statusCode": 200,
"statusDescription": "Error! No ProductS found..",
"discounts": null,
"products": null,
"reviews": null,
"discount": null,
"product": null,
"review": null

} if failed (No ProductS at givenID): {

"statusCode": 200,
"statusDescription": "Error! No ProductS found matching given ID",
"discounts": null,
"products": null,
"reviews": null,
"discount": null,
"product": null,
"review": null

}

...

Sample Request Body:

if success: {

"statusCode": 200,
"statusDescription": "Success! Product request was completed.",
"discounts": null,
"products": null,
"reviews": null,
"discount": null,
"product": {
    "productId": 1,
    "productName": "AppleComputer",
    "productDesc": "Computer from Apple Company",
    "productPrice": 800.25,
    "discount": null
},
"review": null

} if failed: {

"statusCode": 404,
"statusDescription": "Error! No ProductS found matching given ID",
"discounts": null,
"products": null,
"reviews": null,
"discount": null,
"product": null,
"review": null

}

Sample Input:

{

"productId": 5,
"productName": "AppleComputer",
"productDesc": "Computer from TANGERINE Company",
"productPrice": 800.25,
"discount": null

}

Sample Request Body:

if successs {

"statusCode": 200,
"statusDescription": "Success! New Product request completed.",
"discounts": null,
"products": null,
"reviews": null,
"discount": null,
"product": {
    "productId": 5,
    "productName": "AppleComputer",
    "productDesc": "Computer from TANGERINE Company",
    "productPrice": 800.25,
    "discount": null
},
"review": null

} if failed: {

"statusCode": 400,
"statusDescription": "Error! Incorrect Product input",
"discounts": null,
"products": null,
"reviews": null,
"discount": null,
"product": null,
"review": null

}

Sample Input:

{

"productId": 1,
"productName": "AppleComputer",
"productDesc": "Computer from MANGO Company",
"productPrice": 800.25,
"discount": null

}

Sample Request Body:

if success: {

"statusCode": 204,
"statusDescription": "Content Successfully UPDATED at ID:1 with no response Body",
"discounts": null,
"products": null,
"reviews": null,
"discount": null,
"product": null,
"review": null

}

Sample Request Body:

if success: {

"statusCode": 204,
"statusDescription": "Content Successfully REMOVED at ID:4 with no response Body",
"discounts": null,
"products": null,
"reviews": null,
"discount": null,
"product": null,
"review": null

}

....

3. Review API Endpoints:

if success: {

"statusCode": 200,
"statusDescription": "Success! ReviewS request was completed.",
"discounts": null,
"products": null,
"reviews": [
    {
        "reviewId": 1,
        "reviewTitle": "Apple Mac Review",
        "reviewDesc": "This Mac Computer has broken HDMI port; 3 Star and Need a refund!",
        "reviewRating": 3,
        "product": null
    },
    {
        "reviewId": 2,
        "reviewTitle": "Apple Mac Review",
        "reviewDesc": "This Mac Computer is pretty good for running Photoshop.",
        "reviewRating": 5,
        "product": null
    },
    {
        "reviewId": 3,
        "reviewTitle": "Dell Laptop Review",
        "reviewDesc": "This Computer is garbage and is overheating when I play Crisis >:(",
        "reviewRating": 1,
        "product": null
    }
],
"discount": null,
"product": null,
"review": null

}

---> Param = /productID ...

---> Param = /reviewID

---> Param = /reviewID

ecommerceapi's People

Contributors

h-jamesr2 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.