Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
13e88da
과제 시작
naringst Nov 30, 2025
5f9a7e7
refactor: useNotification hook 분리
naringst Nov 30, 2025
49275bf
refactor: applyCoupon 함수를
naringst Dec 1, 2025
cda3912
refactor: 어드민에서 쿠폰 관리하는 로직 hook으로 분리
naringst Dec 1, 2025
aa58862
refactor: Admin 부분과 아닌 부분으로 분리
naringst Dec 2, 2025
78a1347
refactor: 페이지 header 리팩토링
naringst Dec 2, 2025
2c74c2c
refactor: ProductList 부분 컴포넌트 분리
naringst Dec 2, 2025
57fff7f
refactor: Cart 컴포넌트 분리 리팩토링
naringst Dec 2, 2025
c363be1
refactor: cart에서만 사용하는 로직들 Cart 내부로 이동
naringst Dec 2, 2025
4464e4a
refactor: Notification 컴포넌트 분리 및 타입 설정
naringst Dec 2, 2025
6098575
refactor: 쿠폰 관련 로직 Cart 내부로 이동
naringst Dec 3, 2025
18c91b4
refactor: useManageCoupon에 selectedCoupon 상태 추가
naringst Dec 3, 2025
d85f044
refactor: 로컬스토리지에 coupon 저장하는 로직 useManageCoupon 내부로 이동
naringst Dec 3, 2025
aa33d32
refactor: applyCoupon에 onSuccess 콜백으로 addNotification 로직 분리
naringst Dec 3, 2025
1121b0e
refactor: applyCoupon을 useManageCoupon 하위로 이동
naringst Dec 3, 2025
b40046f
refactor: cart 내 총합 계산 관련 서비스 로직 분리
naringst Dec 3, 2025
2813cc4
refactor: cart 관련 로직 useCart 훅으로 분리
naringst Dec 3, 2025
3042bf6
refactor: Cart에서 CartEmptyList, CartItemList, CartTitle 분리
naringst Dec 3, 2025
e2e7a82
refactor: component 하위 cart안에 cart 컴포넌트들 위치하도록 수정
naringst Dec 3, 2025
2afd636
refactor: CouponSelector 컴포넌트 분리
naringst Dec 3, 2025
1ce6468
refactor: Cart 영역 Cart, Coupon, Payment로 컴포넌트 분리
naringst Dec 3, 2025
7cc4b86
refactor: PaymentButton 분리 및 내부 로직 변수 이름 수정 및 리팩토링
naringst Dec 3, 2025
0e157c7
refactor: Coupon onChange 로직 분리
naringst Dec 3, 2025
d9d53ad
refactor: useNotification 훅 사용하도록 수정
naringst Dec 3, 2025
f67aac2
fix: cartItemList에서 import 경로 수정
naringst Dec 3, 2025
0ea5352
refactor: admin 안에서만 사용하는 상태 admin 하위 페이지로 이동
naringst Dec 3, 2025
32bfcfc
refactor: product 상태 useProduct 훅 내부로 이동
naringst Dec 3, 2025
c4e9133
refactor: 같은 기능의 로직끼리 묶도록 수정
naringst Dec 3, 2025
63aa7de
refactor: 상품 검색 관련 로직 useSearchProduct로 분리
naringst Dec 3, 2025
8fd495f
fix: 사용하지 않는 props 및 import 경로 수정
naringst Dec 3, 2025
937c2a2
refactor: cart 상태 useCart 내부로 이동
naringst Dec 3, 2025
791df7a
refactor: addToCart 함수 useCart 내부로 이동
naringst Dec 3, 2025
29366bc
refactor: notification section 분리
naringst Dec 3, 2025
8721ca0
refactor: 전역 util format Price 함수 가져와서 사용하도록 수정
naringst Dec 4, 2025
79969f1
refactor: AdminTitle, ViewTab, ProductList 컴포넌트 및 로직 분리
naringst Dec 4, 2025
55df1d5
refactor: admin coupon 관련 로직 리팩토링
naringst Dec 4, 2025
589bab6
refactor: AdminProductList 컴포넌트 분리
naringst Dec 4, 2025
8e94d80
refactor: AdminProductTable에서 Row 분리
naringst Dec 4, 2025
d0a27d4
refactor: admin내 Product관리 내용 useManageProducts 훅으로 분리
naringst Dec 4, 2025
57f54dd
refactor: admin product 관련 컴포넌트 product 하위로 이동
naringst Dec 4, 2025
7679187
refactor: Admin Coupon 관련 컴포넌트 분리
naringst Dec 4, 2025
90ee47c
refactor: useManageCoupon에 쿠폰 생성 및 삭제, blur 로직까지 포함하도록 수정
naringst Dec 4, 2025
8ab2df8
refactor: 공통 Label, Input, Select 요소 추출 및 재사용하도록 수정
naringst Dec 4, 2025
d15b798
refactor: useCouponForm Validation 로직, form 로직 분리 및 useManageCoupon내 …
naringst Dec 4, 2025
619edca
refactor: 폴더 구조 변경
naringst Dec 4, 2025
86af181
refactor: useProductForm 로직 분리
naringst Dec 4, 2025
9ac23b3
refactor: 쿠폰 할인율 적용 로직 테스트 케이스 통과하도록 수정
naringst Dec 4, 2025
e588e21
refactor: CartItemList 내 컴포넌트 분리
naringst Dec 4, 2025
b964df5
refactor: 공통 Select 사용하도록 수정
naringst Dec 4, 2025
4314613
refactor: notification 내부에 useNotification Hook 존재하도록 수정
naringst Dec 4, 2025
e904962
refactor: ProductList, Item 리팩토링
naringst Dec 4, 2025
9ad89ea
refactor: ProductList 내 컴포넌트 분리
naringst Dec 4, 2025
3e1f3f7
refactor: CartItem, CartSection 리팩토링
naringst Dec 4, 2025
272d866
refactor: paymentSection 컴포넌트 분리
naringst Dec 4, 2025
37665cc
refactor: props 인터페이스 응집성 , 가독성 높이도록 역할 별 분리
naringst Dec 4, 2025
7d821d1
refactor: App 전체를 ShopPage, AdminPage로 분리
naringst Dec 4, 2025
2f6455c
refactor: admin 하위 product 관련 로직들 features/product 로 이동
naringst Dec 4, 2025
eb1f689
refactor: coupon도 feature 하위로 분리
naringst Dec 4, 2025
82d4ea0
refactor: Notification, Admin 페이지 이름 및 폴더구조 수정
naringst Dec 4, 2025
51ff120
refactor: admin, product 관련 내용 리팩토링
naringst Dec 4, 2025
7cfe0c7
refactor: hook -> hooks로 폴더 이름 수정
naringst Dec 4, 2025
b9ae588
feat: jotai 설치
naringst Dec 4, 2025
7ab94e0
feat: advanced에 basic 코드 그대로 추가 및 jotai atom 추가
naringst Dec 4, 2025
877e77f
test: 테스트 코드 실행 시 atom 초기화 setup 로직 추가
naringst Dec 4, 2025
ca9036e
refactor: notification 전역 atom 상태 사용하도록 수정
naringst Dec 4, 2025
0820e2a
fix: 불필요한 의존성 제거
naringst Dec 4, 2025
1a0fab8
refactor: cart 전역 atom 상태 사용하도록 수정
naringst Dec 4, 2025
c7c538f
refactor: admin 상태 atom으로 분리 및 처리
naringst Dec 4, 2025
c9b6598
refactor: 불필요한 코드 정리
naringst Dec 4, 2025
8f7436e
refactor: coupon atom 만들어서 전역 상태로 사용하도록 수정
naringst Dec 4, 2025
b409d76
fix: build 경로 에러 수정
naringst Dec 5, 2025
2e61bb6
build: 배포 셋팅
naringst Dec 5, 2025
bf27a65
fix: 빌드 안되는 이슈 수정
naringst Dec 5, 2025
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
58 changes: 58 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Deploy to GitHub Pages

on:
push:
branches:
- main

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: 'pages'
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: latest

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'pnpm'

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build
run: pnpm run build

- name: Setup Pages
uses: actions/configure-pages@v5

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: './dist'

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
4 changes: 4 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"dev:origin": "vite --open ./index.origin.html",
"dev:basic": "vite --open ./index.basic.html",
"dev:advanced": "vite --open ./index.advanced.html",
Expand All @@ -13,16 +14,19 @@
"test:advanced": "vitest src/advanced",
"test:ui": "vitest --ui",
"build": "tsc -b && vite build",
"preview": "vite preview",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0"
},
"dependencies": {
"jotai": "^2.15.2",
"react": "^19.1.1",
"react-dom": "^19.1.1"
},
"devDependencies": {
"@testing-library/jest-dom": "^6.6.4",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/node": "^24.10.1",
"@types/react": "^19.1.9",
"@types/react-dom": "^19.1.7",
"@typescript-eslint/eslint-plugin": "^8.38.0",
Expand Down
73 changes: 58 additions & 15 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading