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

경북대 FE_정서현 3주차 과제 Step3 ~ 4 #89

Open
wants to merge 30 commits into
base: hyunaeri
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
186c7a9
Docs: Step 마다 구현할 기능 목록 작성
hyunaeri Jul 9, 2024
a92fcde
Chore: axios 라이브러리 설치
hyunaeri Jul 10, 2024
33d4773
Feat: API 로부터 데이터를 가져올 함수 작성
hyunaeri Jul 10, 2024
360b91e
Feat: API 를 사용하여 메인 페이지의 Theme 카테고리 섹션 구현
hyunaeri Jul 10, 2024
de7339e
Docs: 메인 페이지의 Theme 카테고리 섹션 구현 완료
hyunaeri Jul 10, 2024
321592c
Feat: API 를 사용하여 메인 페이지의 실시간 상품 랭킹 섹션 구현
hyunaeri Jul 10, 2024
9164d64
Docs: 메인 페이지의 실시간 상품 랭킹 섹션 구현 완료
hyunaeri Jul 10, 2024
9579195
Feat: 디버깅을 위해 console.log 추가
hyunaeri Jul 10, 2024
33d94dc
Feat: 디버깅을 위해 console.log 추가
hyunaeri Jul 10, 2024
40d9cd1
Feat: API 를 사용하여 Theme Page 의 헤더 구현
hyunaeri Jul 10, 2024
5f6d9f6
Docs: Theme 페이지의 헤더 구현 완료
hyunaeri Jul 10, 2024
1979c50
Feat: API 를 사용하여 Theme Page 의 상품 목록 섹션 구현
hyunaeri Jul 10, 2024
bfad834
Docs: Theme 페이지의 상품 목록 섹션 구현 완료
hyunaeri Jul 10, 2024
f889e32
Feat: 메인 페이지의 Theme 카테고리 섹션 부분에서 데이터 로딩 상태에 대한 UI 추가
hyunaeri Jul 11, 2024
deaebe7
Feat: 메인 페이지의 실시간 상품 랭킹 섹션에서 데이터 로딩 상태에 대한 UI 추가
hyunaeri Jul 11, 2024
2252f6f
Feat: Theme 페이지의 상품 목록 섹션에서 데이터 로딩 상태에 대한 UI 추가
hyunaeri Jul 11, 2024
cde6af2
Feat: Theme 페이지의 헤더 섹션에서 데이터 로딩 상태에 대한 UI 추가
hyunaeri Jul 11, 2024
d3ce4fe
Docs: 각 API 에서 Data Loading 상태에 대한 UI 구현 완료
hyunaeri Jul 11, 2024
07bb158
Feat: Footer (카카오톡 선물하기) image 삽입
hyunaeri Jul 11, 2024
cd938a0
Feat: API 에서 불러온 데이터가 없는 경우에 대응할 UI 구현
hyunaeri Jul 11, 2024
9e5aa5f
Docs: 각 API 에서 불러온 데이터가 없는 경우에 대응할 UI 구현 완료
hyunaeri Jul 11, 2024
0099caa
Feat: lint 스크립트 명령어 추가
hyunaeri Jul 11, 2024
91e8af7
Feat: '@typescript-eslint/no-explicit-any' 규칙 비 활성화
hyunaeri Jul 11, 2024
c71e0e5
Feat: HTTP status 에 따라 Error 를 다르게 처리하는 기능 구현
hyunaeri Jul 11, 2024
4dae04c
Docs: HTTP status 에 따라 Error 처리 방법 구현 완료
hyunaeri Jul 11, 2024
dfa6232
Feat: 무한 스크롤 구현을 위한 react-query 및 react-intersection-observer 설치
hyunaeri Jul 12, 2024
30b5dde
Feat: 스크롤을 내리면 추가로 데이터를 요청하여 보여주게 하는 무한 스크롤 기능 구현
hyunaeri Jul 12, 2024
5e97a6a
Feat: 데이터를 불러오는 도중 오류가 발생했을 때 UI 추가
hyunaeri Jul 12, 2024
90a8933
Feat: Step1 에서 구현한 API 들을 react-query 를 사용해서 재 구현
hyunaeri Jul 12, 2024
71ca24d
Docs: 무한 스크롤, Step1 에서 구현한 API 들 react-query 로 재 구현 완료
hyunaeri Jul 12, 2024
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
3 changes: 3 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,12 @@ module.exports = {
],
rules: {
'react/react-in-jsx-scope': 'off',
'react-hooks/exhaustive-deps': 'off',
'simple-import-sort/imports': 'error',
'simple-import-sort/exports': 'error',
"@typescript-eslint/no-explicit-any": "off",
'@typescript-eslint/consistent-type-imports': 'warn',
'@typescript-eslint/no-shadow': 'off',
Comment on lines +34 to +39
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

끄신 린트 룰들 전부 켜고 사용해주세요!
특히 exhaustive-deps는 절대 끄지 말아주세요!

'@typescript-eslint/no-unused-vars': [
'error',
{
Expand Down
35 changes: 35 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<h1> 카카오 테크 캠퍼스 - 프론트엔드 카카오 선물하기 편 </h1>

<h3>1️⃣ Step 1 체크리스트</h3>

- `oas.yaml` 파일과 `mock API URL` 을 사용해서 API 구현하기

- Main Page →

- [x] Theme 카테고리 섹션: `/api/v1/themes` API를 사용하여 Section 구현

- [x] 실시간 급상승 선물랭킹 섹션: `api/v1/ranking/products` API를 사용하여 Section 구현

- Theme Page →

- [x] Header : url의 pathParams와 `/api/v1/themes` API를 사용하여 Section을 구현

- [x] 상품 목록 섹션 : `/api/v1/themes/{themeKey}/products` API를 사용하여 상품 목록을 구현. API 요청 시 한번에 <b>20개의 상품 목록</b>이 내려오도록 한다.

<br>

<h3>2️⃣ Step 2 체크리스트</h3>

- [x] 각 API에서 Loading 상태에 대한 UI 대응

- [x] 데이터가 없는 경우에 대한 UI 대응

- [x] HTTP Status에 따라 Error를 다르게 처리

<br>

<h3>3️⃣ Step 3 체크리스트</h3>

- [x] 스크롤을 내리면 추가로 데이터를 요청하여 보여지게 함

- [x] 1단계에서 구현한 API를 `react-query` 를 사용해서 구현
Loading