Skip to content

Madfater/CardTradeHub-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CardShop-Backend

測試POST 改後端資料庫成功

HOW TO TEST

開MySQL 執行 腳本

Python套件記得裝

記得改MySQL密碼 這裡

執行api.py

測試用JSON檔

request json format

User

register
# /user/register , method = POST
{
    "password": "passwd",
    "username": "alan",
    "email": "123@gmail.com"
}

return "User already exist" or "register success"

login
# /user/login , method = POST
{
    "email": "123@gmail.com",
    "password": "passwd"
}

return User ID or "login failed" or "this email isn't register yet"

Get User Name
# /user/name?id=<int:userId> , method = GET
# ex : /user/name?id=1

return User name or "User not found"

Shopping Cart

check ShoppingCart
# /cart?userId=<int:userId> , method = GET
# params可選包括 page (int), pageLimit (int)
# ex:/cart/userId=1&page=1

return StoreCard in ShoppingCart likes

{
    "items": {
        "2": [
            {
                "cardCategory": "怪獸卡",
                "cardDescription": "超猛飛龍毀滅一切",
                "cardName": "青眼白龍",
                "storeCardId": 1,
                "storeCardPrice": 500,
                "storeCardQuantity": 10,
                "storeCardStatus": "九成新狀態良好"
            },
            {
                "cardCategory": "法術卡",
                "cardDescription": "復活墓地一隻怪獸卡到場上",
                "cardName": "死者復甦",
                "storeCardId": 3,
                "storeCardPrice": 40,
                "storeCardQuantity": 15,
                "storeCardStatus": "九成新狀態良好"
            }
        ]
    },
    "totalPage": 1
}
Add Card To ShoppingCart
# /cart/add , method = POST

{
    "userId" : 1,
    "cardId" : 2,
    "quantity" : 1
}

return "User not found" or "Card not found" or "added"

remove Card from ShoppingCart
# /cart/remove , method = DELETE
{
    "userId":1,
    "cardId":2
}

return "User not found" or "Card not found" or "Card not in shopping cart" or "removed"

Store

check Store
# /store?id=<int:storeId> , method = GET
# ex:/store?id=1

return likes

{
    "storeID": 1,
    "storeName": "Happy Card Store"
}

Actual Card

check ActualCard
# /actualCard?id=<int:cardId> , method = GET
# ex: /actualCard?id=1

return "Card not found" or return ActualCard likes

{
    "cardID":1,
    "name":"青眼白龍", 
    "catagory":"怪獸卡",
    "description":"超猛飛龍毀滅一切"
}
Add ActualCard
# /actualCard/add , method = POST
{
    "name" : "nothing",
    "catagory" : "dragon",
    "description" : "destory enemy"
}

return "added"

update ActualCard
# /actualCard/update , method = PUT
{
    "cardId" : 1,
    "name" : "forest elf",
    "catagory" : "elf",
    "description":"send itself to the tomb"
    # 至少包含 name catagory description 其中一項
}

return "Card not found" or "updated"

remove ActualCard
# /actualCard/remove , method = DELETE
{
    "cardId":1
}

return "Card not found" or "removed"

Comment

check comment from store
# /comment?storeId=<int:storeId>&page=<int:page> , method = GET
# params可選包括 page (int), pageLimit (int)
# ex:/comment?storeId=1&page=1&pageLimit=30

return "Store not found" or return comment likes

{
    "items": [
        {
            "commentID": 1,
            "context": "賣家出貨快",
            "score": 5,
            "userID": 1
        }
    ],
    "totalPage": 1
}
Add Comment
# /comment/add , method = POST
{
    "storeId":1,
    "score" : 5,
    "context" : "777",
    "userId":1
}

return "Store not found" or "User not found" or "added"

update Comment
# /comment/update , method = PUT
{
    "comment_id" : 1
    "score" : 5,
    "context" : "777"
    # 至少包含 score context 其中一項
}

return "Comment not found" or "updated"

remove Comment
# /comment/remove , method = DELETE
{
    "comment_id" : 1
}

return "Comment not found" or "removed"

Order

check Order
# /order?id=<int:user_id> , method = GET
# params可選包括 page (int), pageLimit (int)
# ex: /order?id=1&page=1

return "Order not found" or return Order likes

{
    "items": {
        "101": [ #訂單ID
            {
                "actualCardID": 4,
                "orderQuantity": 4,
                "storeCardID": 4,
                "storeCardPrice": 500,
                "storeID": 1
            }
        ],
        "104": [
            {
                "actualCardID": 2,
                "orderQuantity": 1,
                "storeCardID": 2,
                "storeCardPrice": 15,
                "storeID": 3
            },
            {
                "actualCardID": 3,
                "orderQuantity": 4,
                "storeCardID": 3,
                "storeCardPrice": 40,
                "storeID": 1
            }
        ]
    },
    "totalPage": 1
}
add Order
# /order/add , method = POST
{
    "userId":1,
    "address":"",
    "items":{
        "2":1,
        "3":4
    }
}

return orderId

remove Order
# /order/remove , method = DELETE
{
    'order_id':1
}

return "Order not found" or "removed"

Store Card

get StoreCard
# /card?id=<int:cardId> , method = GET
# ex: /card?id=1

return "Card not found" or return StoreCard likes

{
    "actaulCardID": 4,
    "name": "神聖彗星反射力量",
    "price": 500,
    "quantity": 10,
    "storeCardId": 4,
    "storeId": 1,
    "storeName": "Happy Card Store"
}
search StoreCard
# /card/search?keyword=<str:keyword> , method = GET
# params可選包括 page (int), pageLimit (int), orderWay (str)(包含 id, name, quantity), ascending(bool)
# ex: /card/search?keyword=卡&orderWay=price&ascending=false

return "no results" or return StoreCard likes

{
    "items": [
        {
            "actaulCardID": 5,
            "name": "貪欲之壺",
            "price": 15,
            "quantity": 20,
            "storeCardId": 5,
            "storeId": 2,
            "storeName": "Change Store"
        },
        {
            "actaulCardID": 3,
            "name": "死者復甦",
            "price": 40,
            "quantity": 15,
            "storeCardId": 3,
            "storeId": 2,
            "storeName": "Change Store"
        }
    ],
    "totalPage": 1
}
Search Card in Store
# /card/store?storeId=<int:storeId> , method = GET
# params可選包括 page (int), pageLimit (int), orderWay (str)(包含 id, name, quantity), ascending(bool)
# ex:/card/store?storeId=1&page=1&ascending=true

return likes

{
    "items": [
        {
            "actaulCardID": 13,
            "name": "時光回溯",
            "price": 500,
            "quantity": 10,
            "storeCardId": 13,
            "storeId": 2,
            "storeName": "None"
        },
        {
            "actaulCardID": 11,
            "name": "聖光之盾",
            "price": 15,
            "quantity": 20,
            "storeCardId": 11,
            "storeId": 2,
            "storeName": "None"
        },
        {
            "actaulCardID": 7,
            "name": "冰霜巨人",
            "price": 500,
            "quantity": 10,
            "storeCardId": 7,
            "storeId": 2,
            "storeName": "None"
        },
        {
            "actaulCardID": 5,
            "name": "貪欲之壺",
            "price": 15,
            "quantity": 20,
            "storeCardId": 5,
            "storeId": 2,
            "storeName": "None"
        },
        {
            "actaulCardID": 1,
            "name": "青眼白龍",
            "price": 500,
            "quantity": 10,
            "storeCardId": 1,
            "storeId": 2,
            "storeName": "None"
        }
    ],
    "totalPage": 1
}
add StoreCard
# /card/add , method = POST
{
    "storeId" : 1,
    "price":10,
    "status":"9成新",
    "quantity":4,
    "ACCard_ID": 2
}

return storecardId or "Store not found"

update StoreCard
# /card/update , method = POST
{
    "cardId" : 1,
    "price":10,
    "status":"9成新",
    "quantity":4
    # 至少包含 price status quantity 其中一個
}

return "Card not found" or "no access" or "updated"

remove StoreCard
# /card/remove , method = POST
{
    "cardId":1,
    "userId":1
}

return "Card not found" or "no access" or "updated"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages