Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[장바구니 협업 Step 1] 윤생(이윤성) 미션 제출합니다. #88

Merged
merged 32 commits into from
May 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
4c9d43d
feat: 기본 코드 셋팅
n0eyes May 23, 2023
2784292
refactor: api 명세에 맞춰 fetchQuery 응답 형태 변경
n0eyes May 23, 2023
0f9b3a7
fix: 명세서에 따라 장바구니 아이템 추가 api 변경
n0eyes May 23, 2023
08e7e0e
fix: 장바구니 아이템 추가, 수정, 삭제 api 인증 인가 로직 추가
n0eyes May 23, 2023
63bd9b9
feat: 서버 엔드포인트를 select로 변경할 수 있는 기능 추가
n0eyes May 23, 2023
f7b090a
fix: 잘못된 base64 수정
n0eyes May 24, 2023
d517307
fix: cors 해결을 위해 http method 대소문자 변경
n0eyes May 24, 2023
93cd92b
fix: 응답 데이터가 없는 경우 핸들링
n0eyes May 24, 2023
a0d9504
feat: 요청 데이터에 맞는 응답 헤더 속성 추가
n0eyes May 24, 2023
fe60547
fix: 응답 형식에 맞게 장바구니 응답 타입 변경
n0eyes May 24, 2023
0a16222
fix: 응답 형식에 맞게 응답 데이터 형식 변경
n0eyes May 24, 2023
85b64c5
refactor: composedCartItemMutation 로직 가독성 있게 변경
n0eyes May 24, 2023
efc8909
refactor: 발생한 에러가 CustomError인 경우 그대로 throw 하도록 변경
n0eyes May 24, 2023
44d4c16
refactor: 수량 변경 디바운싱 추가
n0eyes May 25, 2023
fd8d1ed
refactor: refresher 네이밍 변경
n0eyes May 25, 2023
d7a42fc
refactor: api 관련 타입 분리
n0eyes May 25, 2023
f063e19
refactor: EndpointRefresher 분리
n0eyes May 25, 2023
a53c829
refactor: endpoint atom 디렉토리, 네이밍 변경
n0eyes May 25, 2023
8395846
refactor: App과 엔트리의 관심사 분리
n0eyes May 25, 2023
3bd9026
refactor: EndpointRefresher 분리
n0eyes May 25, 2023
bd00c53
refactor: endpoint atom 디렉토리, 네이밍 변경
n0eyes May 25, 2023
346b436
refactor: App과 엔트리의 관심사 분리
n0eyes May 25, 2023
abbc2f1
chore: fix typo
n0eyes May 25, 2023
fab51d4
refactor: api response 네이밍 변경
n0eyes May 25, 2023
1cd3aad
refactor: atom 네이밍 일관성 부여
n0eyes May 25, 2023
e114161
refactor: 최상위 loading fallback 변경
n0eyes May 25, 2023
a39d07c
refactor: defaultConfig private prefix 추가
n0eyes May 25, 2023
4f33245
chore: 주석 제거
n0eyes May 25, 2023
662679b
refactor: 장바구니 아이템 선택 삭제 로직을 Promise.all로 변경
n0eyes May 25, 2023
c96de6b
refactor: debounce 로직 util 함수로 분리
n0eyes May 25, 2023
22bf9fa
test: fetchQuery test
n0eyes May 25, 2023
7114372
chore: merge conflict 수정
n0eyes May 25, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules/
.DS_Store
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,17 @@
<img src="https://techcourse-storage.s3.ap-northeast-2.amazonaws.com/3e6c6f30b11d4b098b5a3e81be19ce3a" width="400">
</p>
<h2 align="middle">Level2 - 장바구니</h2>
<p align="middle">React & Redux 장바구니 협업 미션</p>
<p align="middle">React & Redux 데스크탑 장바구니 애플리케이션</p>
</p>

## 🚀 Getting Started

백엔드와의 협업을 통해 실제 동작하는 애플리케이션을 만듭니다.
> 다수의 컴포넌트를 페이지로 구성하고 복잡해진 상태를 관리합니다.

<br>
✔️ `데스크탑 타겟`의 웹 앱을 구현하며 구매로 이어지는 것에 끊김이 없고 `재방문을 고려한 UI/UX`에 대해 고민해봅니다.
✔️ 상태 관리를 위해 `Flux Architecture` 기반의 `Redux`를 활용합니다.
✔️ `Router`를 활용해 여러 페이지 전환을 고려합니다.
✔️ [배민상회](https://mart.baemin.com) 서비스 참고

## 👏 Contributing

Expand All @@ -19,4 +22,4 @@

## 🐞 Bug Report

버그를 발견한다면, [Issues](https://github.com/woowacourse/react-shopping-cart-prod/issues)에 등록해주세요.
버그를 발견한다면, [Issues](https://github.com/woowacourse/react-shopping-cart/issues)에 등록해주세요.
10 changes: 10 additions & 0 deletions REQUIREMENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# 도메인

- [x] 상품을 원하는 개수만큼 장바구니에 담을 수 있다

# UI

- [x] 장바구니 아이콘을 클릭하면 상품 수량 선택 인풋으로 변경된다
- [x] 상품 수량은 최대 100개까지 가능하다
- [x] 수량을 1미만으로 선택하면 장바구니 아이콘으로 돌아간다
- [x] 상품을 장바구니에 추가하면 장바구니 수량 뱃지가 갱신된다
6 changes: 6 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
presets: [
['@babel/preset-env', { targets: { node: 'current' } }],
'@babel/preset-typescript',
],
};
1 change: 1 addition & 0 deletions jest.setup.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
import '@testing-library/jest-dom';
Loading