| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||||||||||||||||||
2 | | 목적 : RESTful API 구현과, 프론트엔드, 백엔드의 원할한 커뮤니케이션을 통해 프로젝트를 진행하기 위함 | |||||||||||||||||||||||||||||||
3 | - directory 위치 (backend 기준) | desktop > dev > bagettt | ||||||||||||||||||||||||||||||
4 | - app별 database | databases | details | |||||||||||||||||||||||||||||
5 | apps | packages | packages | products | categories | package_images(j) | packages_products(j) | tags | packages_tags(j) | |||||||||||||||||||||||
6 | shops | carts | option | order_items(j) | orders | |||||||||||||||||||||||||||
7 | user | users | ||||||||||||||||||||||||||||||
8 | core | |||||||||||||||||||||||||||||||
9 | ||||||||||||||||||||||||||||||||
10 | FRONT_page | summary | apps | views | uri(endpoint) | method | parameter | request_body | data | data | table | module | function | error code 1 | error code 2 | success code | ||||||||||||||||
11 | 로그인 페이지(아이콘) > 회원가입 버튼 | 회원가입 | users | SignUpView | /signup | post | name = | create | users | KEY_ERROR | USER_ALREADY_EXISTS | 201 SUCCESS | ||||||||||||||||||||
12 | address = | exists | JSON_INVALID | |||||||||||||||||||||||||||||
13 | email = | validator | Email_Invalidation | |||||||||||||||||||||||||||||
14 | password = | validator | bcrypt.hashpw | Password_Invalidation | ||||||||||||||||||||||||||||
15 | phone_number = | x | ||||||||||||||||||||||||||||||
16 | 로그인 페이지(아이콘) | 로그인 | users | SignInView | /signin | post | email = | read | users | KEY_ERROR | INVALID_USER | 201 token | ||||||||||||||||||||
17 | password = | bcrypt.checkpw | UNAUTHORIZED | |||||||||||||||||||||||||||||
18 | 패키지페이지(상품페이지) main > subscribe | 패키지페이지(상품 전체 목록) | packages | PackagesListView | /packages | get | query parameter | x | read | : package.id | packages products junctiontable | GET.get, GET.getlist> query | 200 result | |||||||||||||||||||
19 | : package.name | Q > filtering | ||||||||||||||||||||||||||||||
20 | : package.thumnail_image | order_by > filtering | ||||||||||||||||||||||||||||||
21 | : package.price | distinct > 중복제거 | ||||||||||||||||||||||||||||||
22 | : product.brand_name | __in > 조건(list) | ||||||||||||||||||||||||||||||
23 | 패키지 상세 페이지 main > subscribe > details | 상세페이지 하단 1. 패키지 소개 2. 패키지 구성 상품을 보여주는/ 패키지 아이디를 foreign key로 가지고 있는/ 상품의 정보 배열 | packages | ProductView | /packages/details/ <int:package_id> | get | path parameter | x | read | : package.id | packages products junctiontable | NOT_FOUND | 200 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 (구독하기 > 장바구니이동) (장바구니 아이콘) | 장바구니 담기 | shops | CartView | /cart | post | quantity = | create | carts options | decorator | get_or_create : user/package_id | KEY_ERROR | INVALID_USER | 201 ADD_CART | ||||||||||||||||||
34 | price = | |||||||||||||||||||||||||||||||
35 | path parameter | package_id = | ||||||||||||||||||||||||||||||
36 | shipping_option = | |||||||||||||||||||||||||||||||
37 | user_id | |||||||||||||||||||||||||||||||
38 | 장바구니 보기 | shops | CartView | /cart | get | read | : total_price | carts options | decorator | aggregate, sum | INVALID_USER | 200 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 | 상품 삭제(전체삭제, 부분삭제) | shops | CartView | /cart | delete | path parameter | id = cart_id(list) | delete | carts | decorator | __in > 조건(list) | INVALID_USER | 200 DELETE_CART | |||||||||||||||||||
46 | ||||||||||||||||||||||||||||||||
47 | 상품 수량/가격 수정 | shops | CartView | /cart | update | path parameter | quantity = | update | carts | decorator | INVALID_USER | QUANTITY_IN_CART | ||||||||||||||||||||
48 | id = cart_id | DESELECTED_QUANTITY | ||||||||||||||||||||||||||||||
49 | order | 주문완료 | shops | OrderView | /order | post | user_id = | create | = cart.quantity | order carts packages user order_item | decorator | aggregate, sum | 200 result | |||||||||||||||||||
50 | cart_id = cart_id(list) | = order.id | transaction.atomic | |||||||||||||||||||||||||||||
51 | = cart.shipping_option_id | uuid.uuid4() | ||||||||||||||||||||||||||||||
52 | = cart.package.id | datetime.datetime | ||||||||||||||||||||||||||||||
53 | read | : user.name | order_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 | ||||||||||||||||||||||||||||||||