ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAF
1
2
| 목적 : RESTful API 구현과, 프론트엔드, 백엔드의 원할한 커뮤니케이션을 통해 프로젝트를 진행하기 위함
3
- directory 위치 (backend 기준)desktop > dev > bagettt
4
- app별 databasedatabasesdetails
5
appspackagespackagesproductscategoriespackage_images(j)packages_products(j)tagspackages_tags(j)
6
shopscartsoptionorder_items(j)orders
7
userusers
8
core
9
10
FRONT_pagesummaryappsviewsuri(endpoint)methodparameterrequest_bodydatadatatablemodulefunctionerror code 1error code 2success code
11
로그인 페이지(아이콘) > 회원가입 버튼회원가입usersSignUpView/signuppostname =createusersKEY_ERROR
USER_ALREADY_EXISTS201
SUCCESS
12
address =existsJSON_INVALID
13
email =validatorEmail_Invalidation
14
password =validatorbcrypt.hashpwPassword_Invalidation
15
phone_number = x
16
로그인 페이지(아이콘) 로그인usersSignInView/signinpostemail =readusersKEY_ERRORINVALID_USER201
token
17
password =bcrypt.checkpwUNAUTHORIZED
18
패키지페이지(상품페이지)
main > subscribe
패키지페이지(상품 전체 목록)packagesPackagesListView/packagesgetquery parameterxread : package.idpackages
products
junctiontable
GET.get, GET.getlist> query200
result
19
: package.nameQ > filtering
20
: package.thumnail_imageorder_by > filtering
21
: package.pricedistinct > 중복제거
22
: product.brand_name__in > 조건(list)
23
패키지 상세 페이지
main > subscribe
> details
상세페이지 하단
1. 패키지 소개
2. 패키지 구성 상품을 보여주는/
패키지 아이디를 foreign key로
가지고 있는/
상품의 정보 배열
packagesProductView/packages/details/
<int:package_id>
getpath parameterxread : package.idpackages
products
junctiontable
NOT_FOUND200
result
24
: package.name
25
: package.thumnail_image
26
: package.price
27
: product.brand_name
28
: product.name
29
: product.brand_name
30
: product.image_url
31
: product.kcal
32
: product.nutrition
33
cart
(구독하기 > 장바구니이동)
(장바구니 아이콘)
장바구니 담기shopsCartView/cartpostquantity = createcarts
options
decoratorget_or_create
: user/package_id
KEY_ERRORINVALID_USER201
ADD_CART
34
price =
35
path parameterpackage_id =
36
shipping_option =
37
user_id
38
장바구니 보기shopsCartView/cartgetread : total_pricecarts
options
decoratoraggregate, sumINVALID_USER200
result
39
: cart.id
40
: cart.package_thumbnail_image
41
path parameter : cart.package.name
42
: cart.price
43
: cart.quantity
44
: cart.shipping_option.shipping_option
45
상품 삭제(전체삭제, 부분삭제)shopsCartView/cartdeletepath parameterid = cart_id(list)deletecartsdecorator__in > 조건(list)INVALID_USER200 DELETE_CART
46
47
상품 수량/가격 수정shopsCartView/cartupdatepath parameterquantity = updatecartsdecoratorINVALID_USERQUANTITY_IN_CART
48
id = cart_idDESELECTED_QUANTITY
49
order주문완료shopsOrderView/orderpostuser_id = create = cart.quantityorder
carts
packages
user
order_item
decoratoraggregate, sum200
result
50
cart_id = cart_id(list) = order.idtransaction.atomic
51
= cart.shipping_option_iduuid.uuid4()
52
= cart.package.iddatetime.datetime
53
read : user.nameorder_by().first() > filtering
54
: user.address
55
: user.phone_number
56
: user.email
57
: order.order_number
58
: datetime.datetime.date(order.created_at
59
: order.sub_total
60
: order_item.shipping_option_id
61
: order_item.package.name
62
: order_item.package.price * order_item.quantity
63
: order_item.quantity
64
: order_item.package.thumbnail_image
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100